[#8] Reworked how to start the application

We are now using clojure.tools.cli to enable starting the application
with default or custom arguments. A simple help is available via the
--help parameter.
[#8] Added simple API documentation using codox.
[#8] Small fixes to the code after review
[#8] Fixed issue with private functions

The component framework didn't like that functions used
for starting components where private.
Merge branch 'feature/8-refactor-app' into feature/5-datastore
[#5] Major update

- Updated user namespace Lifecycle functions
- Updated README
- Added Python test venv and scripts
- Added edn format support
- Added test for system lifecycle
- Reworked the RabbitMQ connection handling
- New project structure
- Added a pre queue to use before we have a datastore
- Created a db backend storage solution
  - Started on a memory backend
  - Started on a sql backend
- Introduced the use of AMQP meta type
[#5] Subscription uses Refs
[#5] Subscription and donation events

- subscribe and unsubscribe user to items
- notif.project-donate messages
- removed old code
Merge pull request #12 from kardan/feature/5-datastore

Feature/5 datastore