Base TargetSmart client
Integrate TargetSmart lookups for MI & WI.

Also move the TargetSmart client into its own class and add a wrapper.
Merge branch 'master' into target_smart_api