Add note to README on how to install cx-Oracle on Mac OS X
Introduce formal graph structures including Node and Rel

Previously the graph structure was inferred based on the structure
of the backend nodes such as Database -> Table -> Column. This is suitable
for purely hierarchical structures, however representing any other
relationship in this structure was not possible due to not having a formal
graph structure.

Further, elements and branch properties have been dropped in favor of
nodes having formal relationships which can be traversed generically.
Backends now define relationships and can utilize them by filtering
relationships based on their properties.
Support for extracting column foreign keys in postgres backend

This is exposed as the property `foreign_keys` and returns list of
the foreign key name and the node of the column it points to.

This will be used by the neo4j exporter to create the initial relationships
between nodes.
Add docs on graphs, creating a backend and lazy syncing
Add warning if registering a backend over an existing one
Add noop backend for demonstration purposes
Raise a KeyError for Node.__getitem__ for failed key-based lookups
Prevent creating redundant relationships between the same nodes and type

This will now update the properties of the relationship if called
multiple times.
Reference schema.tables directly in Database.tables proxy propery
Simplify and fix neo4j export to correctly traverse relationships
Change foreign_keys property to create real relationships
Add `Nodes.match` for returning a subset of nodes given a regexp
Add logger module with predefined logger for the origins package
Update README to reflect the current state of the design