pkgdb2client: Remove duplicate code to call the API

The new call_api() method includes the generic API call code that can be
used by all API wrapper methods and to call non-wrapped API methods.
pkgdb2client: Allow low-level API calls
pkgdb2client: Support on-demand authentication

Login only when required by pkgdb, support specifying a callback to get
user name and password.
setup.py: Wrap line
Merge pull request #11 from tyll/pep8

setup.py: Fix wrap line
Merge pull request #10 from tyll/simplify

pkgdb2client: Remove duplicate code to call the API
pkgdb2client is a library, no need for if __name__ == '__main__'

Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
pkgdb2client: Cleanup on-demand login code

- Rename login_retries to login_attempts
- Allow to set login_attempts in constructor
- Add docstring for login_callback()
- Fix typo in exception
PkgDB: Store cookies

Store cookies in pickle file if possible.