Fix 'PHP Notice:  unserialize(): Error at offset ...' errors

These kind of errors are caused most of the time by:
- unescaped quotes/slashes etc
- miscounted unicode characters

The change in this commit fixes this, though it does mean the cache directory has to be cleared completely (once - on upgrade to the version which includes this fix) for the fix to take effect.
Improve the re-usability of the addQueryArg() function

- Support SSL protocol
- Make the serverUrl code re-usable
Fix issues with dirname() on Windows
Whitespace
Make cache files identifiable again as with the base64 encoding, there was no way to determine which package the cache referred to which makes selective (manual) deletion difficult.
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
Small fixes
Missed one else
Slight simplification
Merge branch 'master' of github.com:YahnisElsts/wp-update-server into Reusable-server-url

Conflicts:
	includes/Wpup/UpdateServer.php
Use native json pretty printing if available
Constant not ini variable...
Merge pull request #18 from jrfnl/Alternative-json-pretty-print

Use native JSON pretty printing if available
Darn.. let's get the tags from the correct file
Same for package
Whitespace
Capitalisation
Merge branch 'master' of github.com:YahnisElsts/wp-update-server into Reusable-server-url
Minor changes / code style, method naming