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.
personally i would write these tests as follows:
```
var assertMonotonicity = (f: (number => number) x: number) => {
 var epsilon = 0.01;
  assert.operator(f(x), "<", f(x+epsilon));
}
```