Add Marionette.Error

Resolves #1654.

I left the error messages (mostly) alone. We can improve the actual content of these errors in a future PR.
this is cool