started to write unit tests and to address issues
added more tests, and more:

log initialization is async because it involves access to the filesystem.
so now the 'init' function takes a callback.
the log is ready to be used when the filesystem is ready (directories
have been created, streams have been opened, etc).
it's okay to use the log before it is ready. but if any log entries are
made (with 'err', 'info', etc.) before the log is ready, then they will
be queued in memory, and flushed to the log stream once it's ready.

same goes for the logging functions ('err', etc) - they are async because
data needs to be written to the stream. So they also take a callback (optional).
update to readme file
version 1.1.0