Renamed "cycleIndex" into "magicCondensationIndex" and made the magicCondensation an Opt-In

By altering the default behaviour and making magicCondensation and
opt-in, this version of Backbone.Undo is not backward compatible anymore
Added a whole lotta comments
Added method unregisterAll to unregister all registered objects
Comment slightly changed
The UndoTypes function get the "options" object passed as the fourth argument instead of the UndoAction's data

This change can break compatibility with externally added UndoTypes
The "change" UndoType now rightfully unsets added attributes on undo/redo
Feature: You can register objects on instantiation now

No need for calling the register method afterwards anymore. Pass an
array or a single object
defaults function added for globally changing/setting the UndoManager's default values
The check if an object is registered now happens in the objectRegistry

register and unregister are returning true now, if they successfully
register resp. unregister an object
The merge method now makes use of the unregisterAll method
The merge direction was changed: The stack-reference of the passed undoManagers is set to the stack of the undoManager the merge method is called on
Rephrased comments
The merge function can now handle merge several undoManagers at once by passing several arguments or an array as the argument
Rewritten almost all unit tests to make use of the new ability to make synchronous calls