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.
Hmm. Well, I've had some gripes with haml. I imagine I'll have some gripes about haml, but I haven't had ridiculous errors that don't make any sense with slim. Yet. And performance wise, haml is the worst of the popular ones.

Slim is almost *too* slim syntactically, but once I got used to it, I loved it even more than haml! Give it a try on this cause I don't want a combination of both erb and slim, and I'd prefer slim over erb right now.