Merge pull request #117 from ooici-eoi/old_eoi_agent_test_skip

Skip a failing unit test - this entire test class will soon be deprecated
Started adding support for obtaining external data related resources
Updated test_data/usgs.nc sample file

Replaced the usgs.nc sample file with a better test file: more variables, better data (old file had lots of NaN values), obtained from R1 ion-test system
Added ignore pattern for .cdl files

Ignore NetCDF header-dump files: generated by ncdump
Added support for retrieval/usage of EOI Resources

Resource creation during setup of tests
Usage of resources in external_dataset_agent

Reorganized functions in test class
Modifications to allow simple subclassing of test_external_dataset_agent

Reorganized test_external_dataset_agent so that it can be easily subclassed to allow testing of specific data handlers via the agent framework
	- The default (TestExternalDatasetAgent) utilizes the base_data_handler.DummyDataHandler class

Added test_external_dataset_agent.TestExternalDatasetAgent_Fibonacci for testing using the base_data_handler.FibonacciDataHandler class

Added test_external_dataset_agent_netcdf.TestExternalDatasetAgent_Netcdf - for testing the netcdf_data_handler.NetcdfDataHandler
Tweaked config assignment/usage;  Modified guts of _get_data in netcdf_data_handler

After conversation with Arch & MI Team
	- pass on configure call, not needed by DataHandler
	- baseline configuration passed during initialization of DataHandler

'dvr_cfg' key added to 'config' argument(s) passed to execute_* functions - allows appropriate portions of baseline config to be accessed in classmethods

Modified NetcdfDataHandler._get_data to utilize the ExternalDatasetResource (from config['dvr_cfg']) to retrieve data from the netcdf resource.  Also added code to iterate over the time-slice and return data 1 timestep at a time (rather than as a repeated block)
Added some TODO's
Moved all External Dataset Agent and Data Handler code into the ion/agents/data module
Minor refactoring of config key name(s)
Removed all uses of DataHandlerParameter.*

Something changed under the hood of DriverParameter such that the members no longer resolve cleanly to str - cannot be used for keying and such.  Replaced all usages of DataHandlerParameter.* and DriverParameter.All with their string equivalents.
Reworked the dh_config formulation

Added stream_id = part of the base configuration (for new_data requests), but overridden by historical requests

Modified execute_acquire_data such that if a config is not provided, it is assumed to be a "new_data" request and self._dh_config is used

Updated everything to be in sync with the new config formulation

Commented lingering 'acquire_sample' call within TestExternalDatasetAgent.test_errors
Adding taxonomy and publisher implementations
Taxonomy and publisher in place and functioning for all data handlers; added data_producer_id as part of the config

Taxonomy added for all 3 data handler implementations, including NetcdfDataHandler

Granule creation and publishing functional for all 3 data handler implementations

Added class-level pubsub_client to TestExternalDatasetAgent to allow subclasses to create streams for testing

Added 'data_producer_id' to the dh_cfg portion of the configuration:  This may not be appropriate, but should come from somewhere outside of the agent/handler (i.e. DAMS), so needs to be provided somewhere
Added StreamGranuleLogger for reporting published granules

Implemented and use TestExternalDataset.create_stream_and_logger() that creates a stream (if not provided) and a StreamGranuleLogger.  Available by test subclasses for use in _setup_resources()

StreamGranuleLogger in place and functioning for reporting of granules published by a DataHandler