Feature Remote Group Import

On the mailing list I have asked whether it is possible to import remote groups as well. I was told that this could be easily implemented with a rough sketch how to approach this.

This is my solution, it uses three options to set this:

* default: ignore remote groups
* only local: import only groups which are locally present
* create: try to create remote groups which are not present

With default it just deletes `package['groups']` as it was before. With only local it tries to get the group object, if this works without an exception the group is added to the package. If the harvester uses API version 1, then the name is used to locally lookup the group, otherwise the ID is used. With create the `ckanclient` is used to fetch group details in order to make an attempt and create it locally. For that certain fields are dropped, for instance `display_name` which is not intended to be set.

Further documentation is in the commit messages.