Add authentication, styling, and do a little refactoring

Also clean up the controller to use strong parameters. We don't ever have to split out date time parameters, as rails will automatically try to apply the composite parameters. Check out [ActiveRecord::Aggregators::ClassMethods](http://api.rubyonrails.org/classes/ActiveRecord/Aggregations/ClassMethods.html) for some info on how rails does this.

I also added pry-rails so that running `rails c` will actually open in pry.

- Use SimpleForm for resource forms.
- Use Carrierwave for image uploading.
- Cleaned up controllers and use strong parameters.
- Add validations to prevent blank events and roles.
- Add standard layout, navigation, messaging, and styling.
- Add BetterErrors for in-browser debugging.
- Add devise and require authentication to get at stuff.

- Allow roles to have the same name that belong to different events.
By default, this is going to use file system storage, so uploaded files go in `public/uploads`, which is listed in the `.gitignore`. When this goes up to Heroku or wherever, we'll also configure it to run on Fog with S3 or some other storage when it's configured for it.