Undestroy method for paranoid models

Undestroy allows for restoring destroyed paranoid models. Mirrors the syntax of destroy, with both model (bulk) and instance options.

Implementing this without resorting to manual SQL required tweaking the query generator to allow for omitNull to be passed as an option with an individual query.
Usually they prefer an error throw since you should always call you methods right.

An error should be triggered into the promise if isn't at your handling scope. :)