Add a callback when writing to the filesystem.

The WorkBook write function can now be called in three different ways:

`workbook.write(filename)`
    will asynchonrously write the workbook to the specified file.

`workbook.write(filename, response)`
    will write the workbook to the node response object.

`workbook.write(filename, callback)`
    will write the workbook to the specified file, and call the callback
    function when the process has completed (or errored).

This fixes #4.