Close #59

Before storing the Organization, User or DataSource we check if
they already exist in the database.  If the don't exist we
initialize a new one, add it to the session, flush and return the
object.

The flush is important, as it stores the object in the DB (without
committing the changes) and we get the autonumbered fields (such as
the ID in many cases) already initialized.
Merge branch 'enhancement-#59' into develop