Task graph completion

Added a delegate protocol for graph for determining if all a graph’s tasks are complete or a single one fails. Also removed the task state change delegate method. KVO should be used to monitor changes to state. Finally, updated the example app to take advantage of the graph delegate protocol.
What about switching the order of the graph and task params?