Fix load_options to set rather than just make options

Signed-off-by: Byron Ruth <b@devel.io>
Remove unnecessary options for Neo4j client

Some of the options were never used and out of scope for the APIs
Origins exposes.

In addition the metrics logging has been removed. This should be
monitored elsewhere in the system.

Signed-off-by: Byron Ruth <b@devel.io>
Register atexit handler for uncommitted transactions

This handler ensures transactions that have unsent or uncommitted changes are
noted by logging a message and rolling back the transaction if open. This
prevents the transaction from needing to timeout which may block access to
objects in the database.

Signed-off-by: Byron Ruth <b@devel.io>
Rollback on send if an exception occurs

Signed-off-by: Byron Ruth <b@devel.io>
Add support for tx.send ‘defer’ option

This will add the statement(s) to an internal queue and defer sending
it to the server until commit is called.

This should only be used to call that do not expect a result.

Signed-off-by: Byron Ruth <b@devel.io>
Move dependency based components to separate module

Add lookup of nodes in edges.add for proper validation.

Signed-off-by: Byron Ruth <b@devel.io>
Add managed_components and include_component functions

`managed_components` returns the components managed by the resource
and `include_component` includes (references) a component from an
external resource.

Signed-off-by: Byron Ruth <b@devel.io>
Remove Edge.optimistic flag, add 'reverse' direction option

The optimistic flag is confusing by itself and only affected the
behavior of the edge when evaluating `direction`. Therefore the behavior
of the flag has been changed to a new direction option.

Signed-off-by: Byron Ruth <b@devel.io>
Update resource test data with changed options

Signed-off-by: Byron Ruth <b@devel.io>
Transaction handling fixes in Neo4j client

This fixes a redundant commit request that may have had occurred
in certain situations and fixes a rare issue of not committing or
rolling back a transaction.

Signed-off-by: Byron Ruth <b@devel.io>
Add --debug flag to test suite

This makes it easier debug test cases by logging to stdout.

Signed-off-by: Byron Ruth <b@devel.io>
Refactor internal API

Signed-off-by: Byron Ruth <b@devel.io>