Replace list builder API and do not expose ThingListBuilder as part of config API
This is my answer to #451 (closed)
It was not convenient to actually get rid of ThingListBuilder, but it was possible to hide it and make it largely an implementation detail of the macro-generated builders and accessors.
Possibly these macro_rules macros an the ThingListBuilder
could eventually be replaced by new derive_builder features. That would change the API of the lower-level crates in the few places where they interact around list builders, but not of arti-client
or above.
Last week I thought it would be best to merge !474 (merged) and !475 (merged) first, and then do this rework. But the size of the "change this macro" commit, and the possibly controversial nature of the new arrangements, meant I felt it was best to do things in the "more proper" order - ie, without introducing anything we were intending to get rid of.
I will rework !474 (merged) and !475 (merged) in the light of the feedback on this MR.