Many changes:

- Removed the shared ptrs from KnobHOlder and EffectInstance. There
were cycled references and we were unable to delete the effect when we
really wanted.
- Implemented a garbage collector on the undo/redo stack: Internally
Natron keeps track of all the memory asked by the Nodes (that is the
_lastRenderedImage member for the viewer, or the PluginMemory for the
other plugins). If that value exceeds a settings value, then Natron
will start deleting permanently the older nodes that are not active any
longer. This ensures that the memory pool is recycled instead of
reserving memory that is never really used.

- There is a bug left in the undo stack of the node graph which
indicates the user that he can redo a command which actually is no
longer available. This is because I didn't find a way to properly
remove a command from the undo/redo stack.

- The pasteKnobClipboard and all the interact actions should use the
undo/redo actions instead of just setting values.