use node-microtime module for timestamps

add node-microtime as an optionalDependency, and use it for microsecond
timestamps instead of Date.now() * 1000. If the dependency cannot be
installed (since it is a native module) fail back to the old method.

https://github.com/wadey/node-microtime