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
Add a subset of boost that uses the autoboost namespace
Remove external boost dependency on websocketpp
Add directories that were skipped because of .gitignore
Merge pull request #263 from leapmotion/ref-websocketppboost

Remove external boost dependency on websocketpp
Merge remote-tracking branch 'origin/develop' into fix-backwardscompat

Conflicts:
	autowiring/AutoPacket.h