Fixed #163. Extended AbstractPlugin with ``get_site_info`` method.

This method was originally implemented in minion-zap-plugin. But we have
found this method is useful in many plugins and thus we have refactored
this method out of the zap plugin and is now part of the base class,
which is the base class that ExternalProcessPlugin and BlockingPlugin
are based on.

In additional to the original implementation, we now allow
developer to supply ``std_port`` dictionary, if the developer
needs to determine more ports. Note using ``urlparse`` can only
read standard url strings. We currently only help determine
the port by http and https as either 80 or 443, respectively.
Some sites still use ``8080`` as the port for http and some
chooses different port for https.