Cartopy plotting

This is an experimental look at using [Cartopy](http://scitools.org.uk/cartopy/) instead of Basemap. Cartopy provides a more object oriented interface that integrates more seamlessly in matplotlib. For example, the projection is just a subclass of the regular Axes so you can do away with the transform yourself, plus the caller easily has access to the projection without having to create a new object.

This is certainly not ready for merging for a few reasons. It completely replaces the existing function, so there's no fallback to Basemap, and I don't think it totally takes advantage of everything Cartopy provides. also, Cartopy doesn't yet support Python 3 (SciTools/cartopy#499).

The results are pretty close (where things work):
 * Default event plot: ![catalog1](https://cloud.githubusercontent.com/assets/302469/4779179/cb4f265e-5c1e-11e4-8a3f-1809ec2734db.png) <br>
    is roughly the same, though I didn't add lakes or rivers. Detail is pretty close otherwise (with small grid line style differences, and ) and events are plotted in the same place.
 * Orthographic event plot: ![catalog2](https://cloud.githubusercontent.com/assets/302469/4779180/cfa560b0-5c1e-11e4-96c6-384f1f4cfc6e.png) <br>
    is generally the same (though there's a small shift and the top of the longitude grid lines is different).
 * Local plot: ![catalog3](https://cloud.githubusercontent.com/assets/302469/4779181/d266fe44-5c1e-11e4-9f79-906b71b6ea5e.png) <br>
    Cartopy doesn't appear to have this projection right now, so it's a bit worse off, unfortunately. It also doesn't seem to support the grid labels on the outside.