Fix multiple bugs with ctld's UCL parsing
- Don't segfault when parsing a misformatted auth-group section
- If the config file specifies a chap section within a target but no auth-group, create a new anonymous auth-group. That matches the behavior with non-UCL config files.
- Protect some potential segfaults with assertions
PR: 274380
Sponsored by: Axcient
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D43198
(cherry picked from commit 2391e536c01cb51d2a2c11a0f5820481314e9ec2)