add support for FreeIPA backend - phase 4 - migration

There is a script that can be used to initially populate Designate
from FreeIPA called ipaextractor.py.  You use it like this:
1) Change Designate to use backend_driver = fake - this will allow it
to update its internal database but not the ipa backend which we are
importing from
2) run ipaextractor.py with no arguments will use the standard designate.conf
3) run ipaextractor.py --config-file file.conf will use the parameters from the given config file
4) run ipaextractor.py and explicitly pass in the parameters
   ipaextractor.py [--config-file file.conf] \
      --backend:ipa-ipa-host hostname \
      ... other ipa options specified as --backend:ipa-optionname ...
      --service:ipa-api-base-uri=http://designateapihost:port
Where the ipa parameters are as described above
the default designate API URL is https://localhost:9001/
NOTE: if you want to specify both a config file (e.g. for common
options) but you want to override some of those via the command line,
you must specify --config-file file.conf first, before any other specfic
parameters you want to override.
NOTE: ipaextractor cannot be used if designate is using the IPA backend.
ipaextractor will attempt to determine if designate is using the IPA
backend, and will exit with an error if so.

Change-Id: Ic2b9c78e5f5980b62b7e93d000038ac7db921c19
Implements: blueprint ipa-backend
Merge "add support for FreeIPA backend - phase 4 - migration"