Necessities for Google App Engine

As GAE filesystem is not writable, then an exception is always thrown
because of the cache folder. But if you already have a cache file before
uploading then not being able to write it is not a problem anymore. So
it is enough to check for write permission in the
HumanReadableCache::set() method.

In the Restler::getPath() method, GAE gave me a notice because $_SERVER
doesn't have an index 'SERVER_PORT'. It is fixed now.
Fixed detecting server port