sqlalchemy: addition of Encrypted column type

* Adds submodule `types` inside `invenio.ext.sqlalchemy` package.

* Refactors the `types.py` into separate packages.

* Adds of a type named `Encrypted` that will be used for
  encrypting and decrypting `access_tokens`.  (PR #2173)

* Adds of pycrypto>=2.6.1 to `setup.py`.

Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Konstantinos Kostis <konstantinos.kostis@cern.ch>