- adds lenient flag to Record.new, problems during validation are just
warnings if it's true
- target populate calls during the plan phase pass lenient=True
- make all of the provider.populate call logging consistent including both
target and lenient
- add source=self to Record.new in a few places that were missing it
They were working around the lack of class hierarchy, this addresses that by
adding 2 child classes. It gets rid of a bunch of ugly default params and
if-this junk in the main class that was trying to deal with plain & geo records.
Also as a positive side effect it gets rid of some hacks that lived in
Route53Provider dealing with the fact that the old setup couldn't detect going
to/from a GeoDNS record correctly.