Add basic daily log rotation to the .tac file

After this change we run the application with:
 $ twistd -y shutter.tac

The log files will be stored in log/shutter.log and rotated daily
on the naming scheme log/shutter.log.YYYY_MM_DD for example log/shutter.log.2013_10_31.

File twistd.pid will be created automatically and will stored our application
process identifier.

We can stop our server by killing the process:
 $ kill `cat twistd.pid`

Looking at the log files we can see that the application is properly terminated.

The pid file will be automatically deleted by twistd upon process termination.

To view the log files while the service is running issue:
 $ tail -F log/shutter.log

The second pattern used in twisted that we can observe here after our .tac file change
is the interface/implementation pair. ILogObserver is an interface and FileLogObserver
is the implementation of that interface. We could easily swap it out with our own observer
capable of emitting the log files over the network to a central service.

It's also worth to note that the twistd application can control the used log observer
with the --logger flag. Passed a proper ILogObserver implementation it will inject it
into the application upon startup.

We used the daily log rotation here as an example. By default twisted rotates logs
when they obtain 1 MB in size.