Separate resources into separate modules

Signed-off-by: Byron Ruth <b@devel.io>
Fix default config options and in events module

In addition, the check for the `-c` in sys.argv is now conditioned
on whether it’s being run via the command line.

Signed-off-by: Byron Ruth <b@devel.io>
Fix various consistency issues in events API

The primary offender was fixed in 4952feba with the addition of
`decode_responses=True` to Redis client. This prevents needing to
manually decode the data being pulled from Redis.

The `register_topic` function is now being called during `queue`
and `subscribe` to ensure the topics are visible for dequeuing.

Signed-off-by: Byron Ruth <b@devel.io>
Add support for running origins.events as dequeue daemon

Executing `python -m origins.events` will start a daemon that polls
Redis and dequeues events from all registered topics.

Signed-off-by: Byron Ruth <b@devel.io>
Refactor `origins.events` module into package

Signed-off-by: Byron Ruth <b@devel.io>
Change Neo4j logging to use debug calls

Signed-off-by: Byron Ruth <b@devel.io>
Implement CSV resource converter

See https://github.com/cbmi/origins/wiki/CSV-Resource-Specification

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

Remove test_suite param from setup since the tests depend on various
services.

Signed-off-by: Byron Ruth <b@devel.io>
Rename io package to encoding, add json and yaml

‘io’ is more synonymous with disk or network operations. ‘encoding’
more clearly defines the purpose of the package.

The yaml module depends on the PyYAML library to be installed.

Signed-off-by: Byron Ruth <b@devel.io>
Expose graph.sync function from graph.sync module

This shadows the sync module, but this is the only function defined
in the module so it is harmless. The sync module will be move or renamed
in the future, but the graph.sync function will remain.

Signed-off-by: Byron Ruth <b@devel.io>
Add test case for transaction nesting

Signed-off-by: Byron Ruth <b@devel.io>
Remove UnicodeCsvDecoder/Encoder

This was necessary when Python 2.x was supported and is no longer required.

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

The constraints and indexes are defined in the docker/origins-neo4j
for setting up the graph.

Signed-off-by: Byron Ruth <b@devel.io>
Add transaction autocommit support

The behavior is to commit each call to send and to not close.

Signed-off-by: Byron Ruth <b@devel.io>
Add quick commands for development on README

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