Auth: introduce pattern engine for creating usernames, userhomes

In lieu of Issue #3, the login name entered by the user is now split up
in parts for the workgroup, the username and the domain. These three
parts can be used in patterns to generate the usernames passed to Samba
and LDAP.
Config: fix typo in config file comments
README.md: update with new config settings
Browser plugin: if anonymous_only, don't show logout link
Merge pull request #6 from aklomp/patterns

Add pattern engine to generate Samba and LDAP usernames, domains
BrowserPlugin.php: replace HTML strings with heredocs

In preparation for the move to SabreDAV 2.1 browser plugin format, which
uses heredocs.
Config: add unit tests
Propflags: add unit tests
MD5Filter: add unit tests
Cache: Extend key to 24 bytes; 20-byte key unsupported in PHP 5.6

Our unit tests under PHP 5.6 were erroring:

  mcrypt_encrypt(): Key of size 20 not supported by this algorithm.
  Only keys of sizes 16, 24 or 32 supported

So add four bytes at the end to satisfy the alignment requirement.
Merge pull request #7 from aklomp/unittests

Unit tests, browser plugin cleanups
Cache\Filesystem: remove unnecessary parentheses
Propflags: use camelCase for method names
Propflags: split function declarations for style consistency
Directory: split function declarations for style consistency
File: split function declarations for style consistency
Change uppercase 'NULL' to 'null' for consistency
README.md: convert 'TRUE' to 'true' for consistency
SMB: make dynamic function, pass object around
SMB: add first tests

Make code testable by optionally adding a $proc object to the method
call; mock this $proc object to check the values passed.