Tasks Backend

I think I am done. Finished tasks_controller methods, model validations/methods, basic unit testing for tasks and mailer configurations and views (fixes #106 )

Currently, all task tests are failing, with the error `NoMethodError: undefined method `name' for :task:Symbol`.

I think the problem is related to name field of admin. That made me realize several things:
1. We didn't do the separation of `first_name`, `middle_name`, `last_name` for the `Admin` class. We probably should do that.
2. Also, I didn't see any validations for the presence of name-related fields in both `Patient` and `Admin` models. Shouldn't we have them?
3. When you are reviewing, please put more attention to tasks_controller.rb and task.rb. I wasn't really sure about how I should formulate the kinda circular relationship of assigner and assignee through the `Admin` class. 
Does this method provide any benefit? I have to have the `patient` instance, regardless...
```
patient = Patient.first
# The following are equivalent
patient.send_notification_email
TaskMailer.new_task_email(patient).deliver
```
Also, if you want to keep it, the method declaration doesn't generally have the empty `()` in Ruby.