Add flag for address reuse.
Merge pull request #112 from leapmotion/hack-websocket_address_reuse

Add flag for address reuse
Extracting un-templated parts of Checkout and CheckoutComplete. These rely using on type_info and AnySharedPtr correctly and are therefore not public.
Adding shared_type() method to SharedPointerSlot. Like type() this can be used for reflection prior to casting.
Implemented ForwardAll method to bridge (satisfied) broadcast data from a terminating context to an AutoPacket in another (sibling) context.

This required modifying the un-templated implementations to rely on external locks.
Adding unit test for ForwardAll. This test fails due to result (virtual default of false) of AnySharedPtr::operator bool after assignment.
Demangle type names and use empty() instead of size()
Merge pull request #113 from leapmotion/feature-ForwardAll

Add AutoPacket::ForwardAll feature
Adding any_autofilter_inputs and any_autofilter_outputs static tests.
Extracting untemplated & unsafe parts of AutoPacket::Has
Implemented type independent extraction by AutoStile.

If no output arguments are provided it is assumed that all data in the slave context should be output.

This relies on collision avoidance by AutoPacket::ForwardAll. If the data in the slave context is already present in the master context (because it is the data that was previously injected) then ForwardAll will discard the data.
Added a unit test to demonstrate extraction of all data by AutoStile.
Fixed serious bug in AddRecipient. SatCounters were stored in a vector, but elements were referenced, so push_back could invalidate references.

Because SatCounters were only accessed by iteration there is essentially no loss in switching to a list, and push_back will not invalidate list references.
Merge pull request #116 from leapmotion/feature-StileForwardAll

Additional AutoStile functionality and AutoPacket bug fix