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.
I suppose I'm not really doing "forall `epsilon`, exists `delta`",  but I figure this is close enough. 

Scales must be increasing and continuous to work at all, making it behave like a log scale is less important in my opinion. I don't think this is the kind of thing we would have a regression on: if we change the formula, the one thing we'll be sure of is that it mostly acts like a log scale.