add Scale.ModifiedLog

![screen shot 2014-07-15 at 5 15 10 pm](https://cloud.githubusercontent.com/assets/3344958/3593136/852fa5bc-0c7e-11e4-8a78-7678a38705d6.png)

This branch adds `Scale.ModifiedLog`, which is a type of log scale that can handle `0` and negative numbers. It does so by scaling a value to be more and more linear between `0` and a given `pivot` value (default: `10`). We're making this because not being able to scale `0` or negative number makes `Scale.Log` buggy, and annoying for a user because they need to filter out all those values.
since this stuff is kind of touchy (and seems to already have one serious bug, see above) please factor it out into a util and unit test it