Registering in PermissionRegistry throws Errors when bad params are passed
Clarified and updated some method docs
getPermission is now fussy about its parameters
Implemented basic param type in constructors and providers.
Custom Exceptions for each Class.
New default Role is 'guest', can be overridden after initialization.
Caught issue with throwing exceptions when a cb with an error was more appropriate.
Changed order of pre-conditions check on async functions to test for valid cb, throwing an exception if not valid.
Merge pull request #22 from interlock/param_checks

Param checks on Object constructors, some async and sync methods.