robot_client: workaround for #46. Fix #67.

This is an updated version of the workaround committed in 9df46977. Instead
of requiring dependent packages to invoke the function defined in the
CFG_EXTRAS cmake snippet, the snippet now sets up the linker path directly.

Dependent packages now only need to remember to explicitly list their
dependency on `industrial_robot_client` and `simple_message` in their
`add_library(..)` statements.
Updated change logs for release
"0.3.4"
robot_simulator: make initial joint state configurable. Fix #73.

This change makes it possible to set the initial joint state to something else
than the default 'all-zeros'. Launch file example:
```
..
<rosparam param="initial_joint_state">[0.3, 0.1, -0.1, 0, 0.9, 1.2]</rosparam>
..
```
The parameter is checked to make sure the correct number of values is provided
(has to be equal to the number of joints).
Merge pull request #74 from gavanderhoorn/issue73_simulator_init_jstate

Fix issue #73: make initial joint state configurable
Ignore some more project management related files.
Merge pull request #75 from gavanderhoorn/ignore_update

Minor update to gitignore
Added a smoothing filter as a planning request adapter plugin
removed call to anonomous function used only for debugging
Made most changes suggested by reviewer. Good Review, I was sloppy in many places.
Minor changes requested by reviewer
removed anonymous namespace code used only for testing
Added a try/catch to running filer, but it does not need to exit
removed try/catch/throw that had no point.
Merge pull request #77 from drchrislewis/issue_76

Issue 76
Merge pull request #79 from ros-industrial/hydro

Release changes pulled into dev branch
More formal fix for UDP communication.

This should now make UDP sockets act almost exactly like the
TCP sockets.  The primary difference I notice at the moment
is that makeConnect is necessarily blocking for UDP, while for
TCP it just connects without the need for a handshake.

Here is a list of the changes:

 - UdpSocket now has its own read buffer. For rawReceiveBytes,
     it now only does a RECV_FROM to its UDP-specific buffer when there
     is no data in it.  Then it copies whatever it can from that buffer into the
     requested buffer.  The rawPoll operation acts almost the same as the previous poll,
     except it goes ahead and returns as ready when there is data left in the internal
     buffer. Thus, we should get almost the same functionality overall as the TCP
     code.

 - Removed original "fixes" I put in. receiveBytes acts the same as originally.

 - SimpleSocket::setConnected is now public (this is the only way you can
     encourage a socket to try and connect again, if you timeout in
     cyclic communication, the server should set this to false and
     try connecting again when it gets information on the point)

 - SimpleSocket::poll is now a virtual method named rawPoll to be implemented by *Socket
     (this is due to how UDP does reads now).  TCP's poll code is identical to the original.

 - UdpServer::makeConnect doesn't hard-block waiting for the handshake message anymore.

 - I have refactored most of the utest.cpp code to make it possible to run the same
     tests for both TCP and UDP.  Most of the code is identical, except that the makeConnect
     calls have to be run differently. Since for UDP, each call is blocking until the
     handshake is completed, you must call one of them in a thread.  It seems that this
     works fine for both TCP and UDP though.

 - I have added a new test which enables the UDP_TEST macro in the utest.cpp.
Putting back in timeout for receiveBytes
Merge branch 'hydro-devel' of https://github.com/ros-industrial/industrial_core into hydro-devel
Merge branch 'hydro-devel' into hydro-devel-merge-udp-fix2