Added the concept of an API profile.
Made api key profiles optional to allow previous functionality. Keeps things simple for new users.
Merge branch 'pelson-API_profiles'