Added code for heartbeat from port agent, as well as code to handle
other types of packets.
Merge remote-tracking branch 'upstream/master'
Added got_data_raw to protocol; added code to accept callback_raw and
callback_error, and heartbeat parameters.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	mi/core/instrument/port_agent_client.py
Added test_handle_packet; added parameter for packet type for testing,
moved packet types to within PortAgentPacket class.
Added test for heartbeat_timeout
Added code to set the port_agent's heartbeat, and associated tests.
Added connection-level recovery.  We might move this up into the driver
base class, but for now it works.  (Tested with real PortAgent.)
Merge remote-tracking branch 'upstream/master'
Added return code for send method; changed to/added references to callback_raw
where needed.
Embellished a comment.
Modified code to use new callback_raw.  Eventually these tests should be
changed to use base class particle tests.
Merge pull request #54 from deverett/master

Connection-level Error Handling and Heartbeat Timer Additions