fix typo in comment
allow to selectively query metadata entries

the stat function in storage.py now only returns the metadata
elements that were asked for, if called with the argument
metadata as a list or set of metadata keys.
remove explicit mention of resc in the StorageFile class

this parameter showing the irods resource is specific to
irods and should not be in the generic StorageFile class.
It is retrieved and stored in the user metadata.
add and use localstorage.py as storage

the simplest implementation possible and supports only read()
add stat and ls function to localstorage.py
add parameter STORAGE to config; configure it my way
implement first storage layer abstraction

everything should import storage.py, which in turn
imports the storage backend, depending on the STORAGE
config variable.
It can currently decide between local and irods, more
can be added by modifying storage.py.
I don't see the need for automatically discovering python
modules for now.

It fails, if no matching module could be loaded (throws
an exception).

Also common parts like the Exception definitions and the
result classes are put into storage_common.py.
This class should be imported by every storage-implementing
module.

fix import of storage in cdmi.py

add the storage config parameter
add config for the gevent server
disable sending the content-length for files

not sending the content-length enables the frontend
to use transfer-encoding chunked to stream the request.

with twistd, the memory consumption stays high,
with gevent, it is reduced a lot.
correct the import for the sysloghandler
check for missing content-type header
adjust cdmi.y for 4-space indentation
implement returning CDMI objects for a directory GET

this is an initial implementation iwth the following goals:
- return CDMI-compliant response for a directory listing
- use streaming for chunked responses

This works, but not too well. Getting a string output
is entangled with the treatment of the content, and we
cannot switch between e.g. compact and pretty printed
json output.
update the cdmi response for directories

Split between creating the single entries and creating
a CDMI response.
The inner function returns a tuple that is either two strings
(key and value) or string and generator function.
Another wrapper contructs a json response from this, concatenating
the entries as they were dict entries.

Beacuse of json's parantheses rule, the inner function must make
sure to surround any strings by "".
fix redirection for directories

now the redirection also includes the query parameters
simplify the cdmi check function

it now uses the request_wants_cdmi fucntion
to perform the check
fix localstorage dir listing

fix a typo (wrong function called) for checking if
something is a dir
update README, adhere to strict PEP8
re-neable sending the content-length

not using transfer-encoding chunked seems not to have any impact on mem
usage, and getting the file size is almost free.
Although this depends on your storage backend.
adjust metadata.py to use 4 spaces indent