Improve the performance of the file backend

This is done via a combination of several things:
* Make the loglevel that triggers a sync configurable
* Make the delayed_write size and intervals configurable
* Make the interval at which external rotation is checked for
  configurable
* Store the timestamp a lager_msg was created inside the lager_msg

To support these changes, several other things had to be modified:
* lager_msg:timestamp now returns a timestamp
* lager_msg:datetime was added to return the {date, time} of a message,
  like lager_msg:timestamp used to
* The configuration syntax for file backends was changed to be of the
  form {lager_file_backend, proplist()} and the old syntax was
  deprecated

Additionally, the defaults for the check_interval was raised from
'always' to 1 second, and the sync_interval was changed from 2 seconds
to one second.
Merge pull request #120 from basho/adt-msg-has-datetime

Improve the performance of the file backend
Support writing unicode to files, thanks @jacktang
fix internal log rotation when check_interval > 0
Merge pull request #128 from gomoripeti/pgö-rotate-check-interval

fix internal log rotation when check_interval > 0
test internal log rotation when check_interval > 0
Implement event stream processing

Adds transparent event stream processing and statistics.
A new 3-tuple trace is introduced as `{Key, Op, Value}`, but
for backwards compatibility `{Key, Val}` implies `=` for `Op`
and `{Key, '*'}` remains as is in the case of wildcards.
A simplified query tree module is generated which reduces
redundant selection conditions to minimize filtering overhead.
Fix typespecs for a clean dialyzer run

Fix typespec of lager_file_backend:init() and lager_msg record
Add a latin-1 test
Merge pull request #130 from gomoripeti/pgö-rotate-check-interval-test

test internal log rotation when check_interval > 0
Clarify the file backend's init() spec, correct some documentation
Merge branch 'garret-smith-gs-typespec-fixes'
Merge pull request #129 from basho/adt-unicode-fix

Support writing unicode to files, thanks @jacktang
Merge branch 'dz-event-stream-processing' of git://github.com/DeadZen/lager into DeadZen-dz-event-stream-processing

Conflicts:
	src/lager_util.erl
Correct the tracing statistics to account for # of installed traces
Pin the goldrush dep to a SHA
Merge branch 'DeadZen-dz-event-stream-processing'
Kill org-mode in favor of markdown, update docs and defaults
Implement persistent traces in config file
Add a simple test for persistent traces