Issue #25 fix

These changes address split packet issues associated with the tcp socket read command (issue #25). 

The read command was changed to utilize the socket select function to query the socket buffer state.  This allows the read to poll the socket for new data in a "interrupt-able" way.  This means that "Control-C" will break out of the program as expected.  The previous approach of simply reading or performing a blocking read did not seem to work this way.

Unit tests were performed that demonstrated the problem and verified the fix.

Minor changes were made to allow parallel test execution (default under catkin).