Issue #98: a user can commit themselves to dates that were already committed

I saw that the disaster service was already throwing an exception for an invalid start date. I added a date range check in the assign to volunteer call and throw exceptions based on errors. I also refactored the controller action to catch the exception and handle them accordingly.