Fix error in views/events/_form.html.erb

Turns out there was a slight bug in the code that was merged:  @event can exist but @event.start_date is not guarenteed to exist.
Better default end date

Now the default end date is 3 hours after the current time.  This is more convenient than it being the current time.

There is probably a more elegant way to do the hour thing.
Actually change end_date, not start_date, more elegant way

This is Rails-specific, though.
Check if start and end dates exist before manipulating them
Fixed failure with hour > 23

Turns out Ruby is not actually smart enough to realize that if the hour is > 23 it should be %= 24 and the day should be ++.  It's a shame, as I just had to add special processing for it.
Indent views/events/_form
Re-indent views/events/show
Smarter display of event information if it doesn't exist

Seems weird, huh?  Well, it just checks if the content exists, then does special stuff if it doesn't.  It makes stuff look prettier.
Start event error-detection
Validations for events!

Now an event must always have a title, start_date, and end_date.
Add validation for end_date being after start_date
Add weeks_repeat validation
Add comment, new lines
Removed unnecessary logic, better error output, fix repeat validation
EVEN better error display
Modify Gemfile, fix up controller some more, remove silly self calls

self is not necessary to be called in a model, because it is just redundant typing.

I added `gem "minitest"` to the Gemfile because ActiveSupport complained about not finding it.  It is a really weird problem that does not really make sense.  I did have it installed; I could sucessfully call `require 'minitest/unit'` in irb.  Oh well, the extra line won't harm anyone, right?  I used http://stackoverflow.com/questions/12501067/cant-make-the-rails-console-run-on-cygwin to find the answer.
Remove automatically advancing date

It turns out that this will break without more code eventually.  It's just not worth setting up right now.
Semi-revert 2bfe7e35e38, use .blank? instead of .length == 0

The commit was not completely reverted, I just removed from logic because of the validations that will prevent the cases from being possible.  Therefore, it will be a few milliseconds faster.
Merge branch 'master' into clean-up