sqlalchemy: initial work on supporting postgresql

Addresses #2020. There is still lot of work to do but I would like to share this first step towards PostgreSQL support in Invenio.
Why don't we do changes like these in *master*?  Otherwise we'll get into many unnecessary conflicts when we'll be forward-merging things from *master* to *next*.