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.
I just copied this verbatim from destroy, not actually sure if it's needed either. Pushed up a commit without it to see if everything still passes.