Add initial WMTS implementation and tests, based on WMS

Signed-off-by: Brad Hards <bradh@frogmouth.net>
Add one extra test, minor cleanup.
Add tile fetching support / tests.
Minor doco fixes.
Update docs.
Update WMTS implementation to work better with the SFS server capabilities
Add test case for SFS WMTS server

Thanks to Caris for making this public.
Switch to using ows common code for ServiceProvider parsing.
Refactor to use more OWS common code.
Added check to getfeature(.) to allow for NoneType to be passed as the
propertyname.  This mirrors the behavior of wfs110.py and allows queries to
USGS Soil Data Mart to succeed (http://SDMDataAccess.nrcs.usda.gov/Spatial/SDMNAD83UTM.wfs)
Update test cases and fix a couple of bugs.
Fix missing newline - breaks a test

Also update a TODO comment.
Add support for serviceMetadataURL and Themes elements.
Add tests using ERDAS server.

Update GetTile implementation to make it more spec compliant (and now works with more servers)
Add tests for phone and fax numbers for ERDAS WMTS case.
safeguard identification.extent
Do not parse extent from gmd:MD_DataIdentification if missing (ISO)

Extent elements are optional for gmd:MD_DataIdentification, the code was
failing on line 340 if an extent was not found.

Also the paths used for getting the temporal extent used 'gmd:extent'
and since 077054 'srv:extent' can also be used.
Merge pull request #40 from amercader/master

Optional extent element on indentificationInfo
Update to reflect new ERDAS IWS server.
Add tests for the new ERDAS server.

Also delete some old test code.