Time Axis and Formatter

Reopening #562 now that #564 has been merged in. 

I've removed the Time Scale changes for now because they weren't playing nice with the domainers #553  (since the domainer assumes that they are quantitive scale). 

For the Time formatter, I wasn't too sure what to do with precision. Currently I'm ignoring it, but we may want to make it do something in the future. 
In general I prefer not to have checks of the form `if(VALUE)`, as Javascript's "truthiness"/"falsiness" makes it difficult to reason about the behavior of statements of this form (unless `VALUE` is a boolean). If possible, please change it to a comparison check, or have the filters return booleans.