Slight improvements to exitWithError()

* Allow empty error message - will default to the title
* Respect the protocol of the server
Add request method to the logging method
Allow child classes to adjust the information which will be logged
Improve the re-usability of the addQueryArg() function

- Support SSL protocol
- Make the serverUrl code re-usable
Make an error message slightly more useful
Fix issues with dirname() on Windows
Whitespace
Make the metadata cache time a static so it can be overruled.

Especially usefull in situations where you not only make the current version of a plugin available, but also older (versioned) versions. For the older versions, you can presume that the meta data will not change anymore and can choose to use a longer cache time.
Add a method to clear a cache
Add clear method to interface
Fix erroneous comment
Codestyle
Code style
Add support for metainfo about plugin dependencies

@see http://wordpress.org/plugins/plugin-dependencies/
@see https://github.com/x-team/wp-plugin-dependencies
Fix typo
Merge pull request #13 from jrfnl/Descriptive-error-messages

Make the ZIP parsing error message more useful by including the file name.
Merge pull request #7 from jrfnl/Fix-erroneous-comment

Fix erroneous comment
Merge pull request #12 from jrfnl/Filter-metadata-cachetime

Make the metadata cache time a static so it can be overruled.
Merge pull request #8 from jrfnl/Clear-cache

Add a clear($key) method to the caching system.
Merge pull request #10 from jrfnl/Log-request-method

Log the request method along with other request data and make the log columns filterable by child classes.