backend: add AVP support

Load a new psycopg2 module to correctly handle hstore => dict conversion
and vice versa.
cli: add support for multiple option occurence

By using the 'multiple' key in the command structure, the command class
can be instructed to allow multiple occurences of the same option. This
is well suited for entering things like tags or our new AVPs
(extra-attributes) of which there could be several ("multiple") for each
prefix.
cli: add support for extra-attributes (AVPs)

AVPs are called just that - AVPs - through the database, backend and
pynipap code but in the CLI front-end we call them extra-attributes as
that was deemed somewhat more intuitive. It might be that they are even
more tightly integrated into the future, making them almost on par with
built-in attributes. For the backend however, we don't feel the same
need of hiding what AVPs really are and the concept should be familiar
to most programmers or users of the API.

The CLI uses the new multiple key in the command structure to allow the
input of multiple extra-attributes to the same prefix.

Two new commands are introduced;
 - nipap address modify X add extra-attribute foo=bar
 - nipap address modify X remove extra-attribute foo
To help better manipulate these new extra-attributes (AVPs).
test: update test cases for AVP values
travis: create hstore extension to fix test

The hstore extension is usually loaded from the ip_net.plsql file but as
the search_path is messed up on Travis-CI it seems unable to do that, so
instead we load the extension beforehand from the sql Makefile.

As far as I can see, this shouldn't be an issue for other virtualenv
environments (I can't reproduce it on my laptop). Not sure why it
happens on Travis-CI. Might have to revisit if other have difficulties
installing in virtualenv and figure out a way to modify search_path
instead.
cli: Align AVP columns with other attributes