Some reformatting/refactoring

`hasRole` can now take an array of roles, and can be passed a resource as a document or a string (resourceType), or no resource at all, giving us three levels of roles:

```
User.hasRole('administrator')
User.hasRole(['billing', 'designer']) # Globally
User.hasRole(['editor', 'administrator'], bucket) # For this bucket
User.hasRole('contributor', 'Bucket') # For all buckets
```

This should add some flexibility for the future. Also:

* Uses underscore to clean up some Roles stuff
* Better checkbox helper
* Still need more tests...
* Very basic stab at UI, but not working yet