Fix save(validate: false) not properly skipping validations.

This wasn't working since save! was being called in the before_save
callback, which was forcing validations on each save, regardless of the
options actually passed into save.
Fix embeds with cascade_callbacks: true.

With the previous save(validate: false) fix, this was leading to stack
level too deep errors when cascade_callbacks was enabled.
Fix handling of deeply nested documents.
Fix saving versions when safe mode is enabled for Monogo.

The save being triggered in the before_save callback was leading 2 save
attempts for each record - once during the before_save and then once
again during the normal save process. This second, normal save was then
failing because a record already existed in Mongo. When safe mode is not
enabled, Mongo's second save was silently failing, but with safe mode
turned on, this error means each save action will result in a failure.
Merge branch 'safe_mode' into save_options

Conflicts:
	lib/mongoid/delorean/trackable.rb
Merge branch 'save_options' of git://github.com/GUI/mongoid_delorean into GUI-save_options

Conflicts:
	spec/support/models.rb