Add preventDestroy option to region.empty()

This is more of a change of behaviour, not just a fix for #1920 or #1911 
This allows calling region.empty() without destroying the view. The regions node is emptied, and events are unbound, but the view is left in tact.

When changing views, we use region.empty() .. forwarding the preventDestroy option if it was passed. But region.empty() will still unbind the events for us.

This may not be an approach you want to take, feel free to disregard if so. But it was easier to code than explain :)
But right now you want it to be specific like `var preventDestroy = options.preventDestroy === true;` but we still have `var preventDestroy = !!emptyOptions.preventDestroy;`in the code.

That means: On one place you can pass numbers, string or something to signalise true, on others only "true".