Add log scale

This PR adds a log scale.

I've added `scale_log.py` using `scale_reverse.py` as a template.  I've also added the appropriate unit tests.  The logarithm base can be specified by the user, but log10 is the default.  i.e.:

``` python
print(gg + scale_y_log())  # log10 scale
print(gg + scale_y_log(2))  # log2 scale
```

I've had to hack `theme_gray.py` to prevent the log ticker from being clobbered when applying the theme.  I couldn't see any way around this without passing the ggplot object to the relevant post callback function though.

This is my first pull request for an open source project so any feedback and/or suggested improvements would be welcomed!