Fix principal URLs in PROPFIND response
fix wrong filename in Manifest
Merge pull request #97 from rngtng/fix-manifest

Fix wrong filename in Manifest
Fix issues if authentication is done by web server

This patch fixes `user` always being None if the authentication is
offloaded to the webserver, as it is suggested in the documentation.

For normal access, this is not a problem, but it becomes a problem if a
client wants to get the current-user-principal, for which the user name
is required.
Respond to all authenticated PROPFIND requests
Fix principal-collection-set in PROPFIND response
Fix calendar/addressbook-home-set in PROPFIND response
Fix access to collections

under certain conditions it was possible to pass the final access control
if-clause. the master branch granted access if:

    if ((read_allowed_items or write_allowed_items)
        and (not user or auth.is_authenticated(user, password))) or
        function == self.options or not items:

the easy-connect branch from pull request #95 adds:
    (is_authenticated and function == self.propfind) or

the last `or not items` condition levers out the previous authentication and
access control. that isn't that big secuity issue because in this case there
are no collection and items at all. but "bad" and anonymous users could gather
data and information which not destined for them.

this commit fixes and simplifies the if-clause.
Find collections if necessary
Merge pull request #95 from chripo/easy-connect

Easy connect
Merge pull request #100 from chripo/fix-access

Fix access
Merge pull request #99 from horazont/fix-preauth

Fix issues if authentication is done by web server
Use environ.get instead of try/except