- replace strftime tokens in FileAppender

Add a setting to support legacy behavior (syncDate)
Do not apply strftime to params

in the Logger; this is the appenders responsibility now
- set correct file permissions upon every write

It may not be done only once, because we will have new log files
being created after a new filename was given, so we could have
a new file w/ new perms at any given run
- use file_put_contents() call instead of fopen() combo
- fix typo in strftime()
- fix stream wrapper to return amount of actual written bytes
  (file_put_contents() checks this and reports error when given !=
  written)
- add (slow) test coverage for filename calculation
QA: Coding standards adjustments
Use fresh file for every test
Ensure file mode is always set
Fix chmod(000) if "perms" member is left uninitialized
Rewrite test to not rely on timing anymore
QA: Simplify code
Also include inner workings of filename() in test
Use test file system
Merge pull request #353 from kiesel/rolling-logfiles

- add support for rolling logfile names in util.log.FileAppender (and util.log.Logger)