Adding TeardownListener functionality to AutoPacket

This gives users the ability to register a lambda which is notified when the underlying AutoPacket is destroyed.  This is useful when attempting to evaluate whether an AutoPacket has been fully processed.

Users to receive the packet on teardown should make the following call:

    packet->AddTeardownListener([] {
        // ...foo...
    });
Simplification of DecorateImmediate

Making use of a function defined at file level for an array initialization, should also ease the burden in object files where DecorateImmediate is heavily used
Merge pull request #261 from leapmotion/feature-teardownlistener

Adding TeardownListener functionality to AutoPacket
Merge pull request #261 from leapmotion/ref-decorateimmediate

Simplification of DecorateImmediate

Conflicts:
	src/autowiring/test/AutoFilterTest.cpp