Remove Graph.add(Collection), add Stream, remove boolean results from add/remove/clear

This pull request implements a few changes to the initial Graph interface:

* Remove Graph.add(Collection) per issue #11
* Change Iterator to Stream to take advantage of Java-8, per issue #10
* Remove boolean return values from add/remove/clear to ensure that the methods can be implemented with the least restrictions on the implementor. Requiring a boolean return value adds restrictions on the implementor with regard to synchronisation/parallelism. For example, if the Graph is implemented remotely, the library may need to actually perform the add to determine whether the triple was a new triple just to return a boolean value.