Authentication and More

- Adds user role mechanism.  User constructor is still available but adapters and robot must use the GetUser robot extension to support roles at the script level instead of creating a User object.
- Added the Auth and WhoIs scripts
- The whois script is the replacement for the hubot role script but doesn't replace the user roles used by Auth.  Instead the whois script "defines" a person with a single value instead of multiple "roles."
- Added a bunch of extension methods to Core to support readability and such
- Minor cleanup