Use django functions in secure_db.py

An added benefit, besides the large code reduction, is that uses
settings.py for the actual database backend and is no longer tied to
sqlite3. This opens up the path to default deployment using mysql or
postgresql cartridges.

Security wise it should be better as well. Django uses
PASSWORD_HASHERS[1] to support multiple hashers and can pick a better
default hasher in future versions.

It no longer touches already created admin users to prevent accidental
password resets.

[1]: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-PASSWORD_HASHERS
pep8
Pass a function in openshift_secure openshiftlibs

By passing in a function in openshift_secure rather than the name of a
function, there is no need to search in the global variables. It also
uses random.choice instead of emulating it.
Simplify settings.py
Convert into a django project template