Refactor task manipulation logic.  Split task list array into backlog and timeline.

* Remove task modifying methods from "taskService" service and add them to the
  prototype for the tasks themselves.

* Split "list" property of "taskService" service into two arrays: "timeline" and
  "backlog".

* Remove the "start" property on task element scopes.  Just use the task model's
  start property.

* Move functions on task scope into outer scope.
Update dependencies.
Update wake/sleep based on assigned tasks.  Refactor app controller and TaskService.

* Remove TaskService dependency on a scope.  A watch for the "day" property of
  the app's scope is used to update TaskService.

* Define "TaskService" as a service and not a factory (the change in indentation
  is the main reason for all the line changes in task_services.js).

* Change the "wake" and "sleep" properties by watching "day" property and
  extending either to include tasks that occur earlier or later.

* Update the "drag" handler for tasks such that a new Time object doesn't always
  get generated for the "start" property.

* Change a task's update method so that the task model, backlog, and timeline
  are all changed before XHR.  This removes the need for the "assigned" filter
  on the timeline ng-repeat directive since "start" changes are applied
  immediately.

* Mutate backlog and timeline on changing TaskService date as opposed to
  reassigning.

* Add floor/ceil methods to "Time" prototype.

* Changed TaskService.update method to "setDay".