A bunch of unit tests and a Dummy implementation

This mainly is intended to test out if the API makes sense, and to give examples of what it can be used for on its own. I found several ambiguities that I will raise individually.

The dummy implementation is basically just some beans and a java.util.List. This uses the Java 8 Streaming APIs, so I did not attempt to back-patch everything to java6 - the `java6` profile simply ignores the whole of `src/test/java` for now.

The tests are written through two abstract classes, so that they can be reused as-is in a different implementation. The test-jar would probably be needed for that (See #40)

The only thing needed to provide is an instance of the [RDFTermFactory](https://github.com/stain/commons-rdf/blob/tests/src/test/java/com/github/commonsrdf/api/RDFTermFactory.java) - I put this in `src/test/java` for now - although it might be genuinely useful as part of the APIs. (I have not tested how easy it is to plug into this from other implementations).

There's a jewel test in there that you would enjoy if you like SPARQL...
We only want to fail here if the id is null or empty. It is a tricky case in general, but we would want to support any non-empty string, and definitely not mandate the use of n-triples only identifiers in the API. 

It would be slightly easier to work through these cases if this was a package private class, and only the RDFTermFactory implementation was accessing this method. In those cases we could support the mapping of invalid-N-Triples-BNode-Identifiers in either the factory or here. If this is a public class and a public constructor then we are stuck trying to support it here.