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.
I put them in because this replaces the default list styles that get ripped out using the reset. In case we want a list that looks like an HTML list, we can just tag it with `class="list"` and boom, we're done. We don't have to include it, but I wasn't sure if there was anywhere in the app that we might still want to use lists that look like lists.