ENH: Lazily build the spatial index

Add a new property 'sindex' to GeoSeries and GeoDataFrame. External
functions should use the property to access the spatial index. The
rtree will not be built until the 'sindex' property is accessed.

A member '_sindex_built' is used to indicate if the rtree has been
built or needs to be.