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
Make an error message slightly more useful
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
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.
Minor: Rephrase a doc-comment and fix line spacing
Don't change $_SERVER
Codestyle
Merge pull request #9 from jrfnl/Better-exit-with-error

Slight improvements to exitWithError()
Move parsing of the user agent back to UpdateServer (non-static)