fix: remove equals and hashCode from task implementation

User is no longer supposed to provide equals and hashCode
implementations in tasks.
Merged tasks/dependencies methods from CompositeBuilder into one.
#3 feat: add observable task to allow execution callbacks

ObservableTask is a foundation for adding custom callbacks for task
execution.
Merge pull request #16 from jtgrabowski/removeEqualsFromTasks

Foundations for registering task custom callbacks