Updates to model.py

Drop init_db_session(); this will show up elsewhere.
Add get_user() in AnsibleUser class to find a user
Add get_user() function to return user and euid
Handle concurrent writes to sqlite database (issue #6)

This introduces manager.py and updates the callback plugin to use it.
Manager object creates the sqlalchemy session.  It also has a method
run() that serves to handle the case where the database is locked
(usually sqlite) or connection is lost.  The parameters of how Manager
backs off and retries are defined in constants.py.  This approach is
based on the one in buildbot.  After 60s, Manager will give up.  I may
choose to increase this value at a later date.

The callback plugin ansiblereport-logger was updated to use Manager.
All methods that call to the database are now wrapped with run() to
protect them and retry in the case of a locked database scenario.

The test units were updated to also use Manager and I increased the
number of max concurrent workers to 75.  In testing thus far, I have
not run into sqlalchemy OperationalErrors that are due to sqlite_busy.

Finally, this commit is in memory of Seth Vidal who tragically passed
away recently.  He brought the sqlite_busy issue to my attention and
encouraged me to improve ansible-report to better handle this without
having to resort to 'bigger' databases.  I am grateful for his
encouragement and the opportunity I had to meet him at AnsibleFest.
He will be missed.
Update bin/ansible-report to use Manager