Added basic auth support. See #10.

If user wants to use basic auth, the user must supply the following information
as part of configuration.

```python

      "auth": {
        "username": "username",
        "password": "password",
        "realm": "Restricted Area",
        "hostname": "example.org",
        "port": "https"
      },
```

We need to write config.xml before the start of the zap server
because we do not have API to configure authentication in ZAP
after it is started up.
Added support for session-based auth. See #13.

This commit adds very basic session-based auth to this ZAP plugin.
This should work with wordpress sites (or any sites that rely on session
for authentication.)
Fixed #14. ``get_site_info`` is now implemented in AbstractPlugin base class.

This method is thought to be useful for many plugins and thus we have moved
``get_site_info`` method to the base class.

See https://github.com/mozilla/minion-backend/pull/164
Fixed #15. basic auth will get values from ``get_site_info`` instead.

We will parse the target url to get the hostname and the port. However,
we will continue to honor user's decision should they give the plugin
the hostname and port explicilty. This is useful IF the plugin is incapable of
getting the right port or hostname. Some sites are known to have non-standard ports.
Currently this zap plugin uses the default base class implementation of ``get_site_info``
 so we don't recongize non-standard ports other than 80 and 443 for http and https,
respectively.
Fixed #16 and fixed #17. Session-based scan is okay on wordpress site.

We have to create an empty session, then we also need to ensure the session created for the site is named ``hostname:port`` rather than ``hostname``.
Merge pull request #12 from yeukhon/master

Added basic auth, session-based auth. See #10 and see #13.