Fixed bad vector transforms.

I've finally got around to looking at vector transforms in mpl (obviously for Cartopy functionality) and it turns out that quiver/barbs/streamplot all suffer from an almost identical issue with the way they handle the bounding box updates. This bug fix opens up the ```get_datalim``` method so that all Collections can override their own behaviour without needing special cases for each of the datatypes.

This has come from a ticket over at cartopy: https://github.com/SciTools/cartopy/issues/351

**Note** this PR is against v1.3.x.