Adding unit tests for desired functionality when a packet is decorated with a function that can be used as an AutoFilter.
Adding stub to handle recipients for decorations of this packet only.

This is distinct from Decorate, since that method pertains to arguments that are inert.
Adding compile-time test to verify that a function can be used as an auto-filter.
Verify that AddRecipient call is valid where expected.
Added MicroAutoFilter to wrap std::function.
Using move semantics in MicroAutoFilter. This is required in order to avoid copying auto_out instances.
Using MicroAutoFilter to implement Packet::AddRecipient.

NOTE: There is a design choice exposed here that might be altered in the future:
Packets are expected to determine their subscribers on construction, rather than initialization.
The consequences of this are:
(1) When a subscriber is added all packet object pools must be flushed.
(2) When a recipient is added it must be removed during the finalize stage.
If instead the subscribers were determined on initialization the ObjectPool flush would be avoided, and the finalize stage could simply be to clear lists.
Merge branch 'develop' into ref-functionaldecoration

Conflicts:
	src/autowiring/test/AutoFilterTest.cpp
Merge pull request #38 from leapmotion/ref-functionaldecoration

AutoPacket functional decoration