Credentials now unicode exceptions + restructuring. 1.2.4

Moved the Api class to Core, added username/password and also added these to unicode exceptions which has been renamed encoding_exceptions - thus avoding an error where unicode strings are used for credentials, causing the credentials to be base encoded - something pure does not care for. Re-used base_encode for dryness. version 1.2.3 --> 1.2.4