Modified HEAT driver to use chunker to filter out only those messages
that are destined for the HEAT driver.  Got HEAT_ON and HEAT_OFF commands
working using the responses from the BOTPT.  Added unit tests and integration
tests.
Fixed logging bug.
All tests passing.
Changed from CRLF to LF because NOAA made that change.  Found an
issue with chunk handling that got exposed with new BOTPT software.
added new tests to exersize direct access and async state changes
new tool for viewing port agent log files
added new tool for viewing port agent log files
Modified port agent client to not reset the retry_counter after a
successful connection has been made to the port_agent, if a retry
has been made within a given time window.
Use simplejson if avail & do not sort keys unless debugging
Change deepcopy to shallow dict copy.

The deep copy operation is very expensive; particle generation performance is
30% faster with this one change.

It's also unecessary because all values in self.contents are immutable, hence
it's impossible for a change to the copy to affect the original.

If there were a mutable object in self.contents, then the above may no longer
be true.
eliminate expensive test
Removed cruft

Those lines had no effect.
manual merge, hopefully in a sane state. left conflicted bits commented out in event i chose wrong.
added support for remote port agents.  If host is not localhost in
the comm_config then the port agent process isn't started.
update qual test so we are testing to particles again.  If we want
to test granules then it needs to be made a pub test.
Instrument dicts can now load metadata strings from YAML files.
IDK code stubs out YAML file, packaging includes it.
Driver generator now moves default strings template into resource dir
Fixed some issues with parameter dict loading
More yaml load fixes and some cleanup
Added a test case to yaml dict load