Migrate GeoServerPersister to GeoServerResourceLoader (GSIP-106)

Continuing from #568

Modified GeoServerPersister to use Resources rather than Files and provided some Resource oriented methods on GeoServerDataDirectory to support this while deprecating its File oriented methods.

Things to watch for while reviewing:

Graphics used by SLDs are by far the most complicated aspect of this.  It needs to copy graphics that are in the style directory with the SLD to the new style directory, and verify that a real file system file exists for such graphics when passing a parsed style out.  It always exists at present, but future implementations may need this step to "unpack" resources to the local file system.

For background see http://geoserver.org/display/GEOS/GSIP+106+-+ResourceStore+API

Specifically the notes http://geoserver.org/display/GEOS/Resource+API+Transition+Plan
Alternatively we could just add a unique element to the temp file name.  The difference would be between whichever thread asked for the stream last winning and the thread that closes it last winning.  

Unique names would also have the possibility of leaving cruft around if GeoServer crashes or someone fails to close their stream.  Using a lock would be a bit more problematic if a stream isn't closed as it would just stay locked.