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.
If Pundit is what you're familiar with, go for it. I don't know enough about cancan to say we have to use it.