Initial code drop for configurable idmap backends
Deterine idmap type dynamically... the entire purpose for all of this
Merge branch 'feature/idmap'