Abstract out graph properties API into base class
Implement __eq__ for Nodes and Rels classes to ignore the type

This compares the contents of the containers.
Return a distinct set of nodes in Rels.nodes()
Use copy to prevent iterating over a changing set
Implement Props __bytes__, __unicode__, __repr__ and __cmp__

All use the `id` to uniquely identity the object.
Update tests for API changes and additional coverage
Add coveragerc
Use 'Origins' as base label for Neo4j nodes

This ensures nodes created by Origins are differentiated from other
nodes in the graph. A section to the README has been added to denote
this change and how to utilize a unique constraint on the `uri` property.
Add additional SQLite client tests
Ensure the result of Nodes.match is sorted

The provides a bit more predictable output for use and test purposes.
If the order is necessary to be maintained, this can be reverted.
Increase the log level during tests to prevent polluting the output
Fix graph tests to not use hard-coded node ids
Add SQLite node tests
Add additional delimited client test and node test
Add tests for directory backend and fix a logic error
Ensure the result of Node.rels is sorted

Same reasoning as in 200d2b84
Add tests for Excel backend
Remove complicated name/label property implementation

Since subclasses can define which property will be used as the name
and label, there is no need to support a list of attributes to fallback
on. However, the `label` property does fallback to the `name` if None or
an empty string.
Add SQLite tests for each node type
Remove redundant assertions on `uri`

The `path` property addresses the variable which for the test. The `uri`
merely prepends the scheme and any additional origin-level attributes.