Make error views smarter; add rate limit error view.

Resolves #273