push so i can pull
Merge remote-tracking branch 'upstream/master'
workhorse_monitor_150_khz/cgsn UNIT tests passing.
Int tests modified to perform the int tests vs base class using the Teledyne base definitions.

Likely some tests will need to be bubbled up closer to the driver leaf level, but this is a start.
modified serial number in pd0 to be type long
started the adcpT-B.  basic driver skeleton, and test data to match the T-F's
ADCPT-B unit tests passing.  Still need to verify, but i think its right as is.
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.