ENH: First commit at common class for geo ops

Moves the GeoSeries geo-aware ops into a base GeoPandas class.
And gets all tests passing
Enable geometry methods on GeoDataFrame

GeoDataFrame is geometry-enabled by inheriting from GeoPandasBase.
The GeoPandasBase operations get the geometry property from the input.

Move __contains__ back to GeoSeries.
Fixes for calling geometry propery on inputs

Properly calls _geo_op and _series_op getting the 'geometry' property
on all inputs
Move tests to test_geom_methods.py

For geometry tests, test both the GeoSeries and GeoDataFrame versions.

If the method's input is also a GeoSeries, test the input for both
GeoSeries and GeoDataFrame as well.

For example, for intersects(), test the following combination of inputs:
GeoSeries, GeoSeries,
GeoDataFrame, GeoSeries,
GeoSeries, GeoDataFrame,
GeoDataFrame, GeoDataFrame

Helper functions are provided to test all combinations
Move overloaded operators to GeoSeries
Rename equals methods to geom_equals

Renames on GeoPandasBase:
* equals() -> geom_equals()
* almost_equals() -> geom_almost_equals()
* equals_exact() -> geom_equals_exact()
Re-enable operator overload tests for GeoSeries.