Presenter-view gateway implementation

Created a Gateway class that acts as an in-between for presenters and
views. Also created an abstract presenter and abstract view class that
all views/presenters should extend. For now, these classes just take a
Gateway object in the contractor for internal use.
Using interfaces instead of abstract classes

Changed AbsPresenter and AbsView to interfaces IPresenter and IView.
All presenters and views should implement these interfaces to be able
to interact with the gateway.
Better error handling in Gateway
Allowed custom arguments on presenters and views
Initialize a gateway in TaskManager
Initial Task Presenter
Merge remote-tracking branch 'origin/devel_task_backend' into task_presenters
Created the task presenter
Updated Author names

Changed full names to wpi email names, put them on separate lines.
added some test methods for task as well as some comments
modified task to include equals method
bug fix to task class
actual bug fix to task class
Merge remote-tracking branch 'origin/task_presenters' into
task-edit-view

Conflicts:
	TaskManager/src/main/java/edu/wpi/cs/wpisuitetng/modules/taskmanager/TaskManager.java
Merge remote-tracking branch 'origin/devel_task_backend' into task-edit-view
Added more fields to task edit view.