Added caching to error pages.
Added fragment caching to devise views, as much as possible.

There are some devise views that are very dynamic: e.g. the accept invitation view has a form with a hidden field with the invitation token. Obviously it cannot be cached, otherwise the same token would be used for all users, which would result in users not being able to accept invitations.

The edit registration view can probably be cached by using the current user instance as key, and implementing dependency in such a way that when e.g. an opml import is updated, the user to which it belongs is touched, invalidating the cache. I'm not yet sure it is worth doing it. Until now I've implemented caches that are shared among all users (locale aside). This means little memory use for the cache, and a high hit ratio. Caching the edit registration view would mean caching the view for each user, which means probably a lot more memory use for less hits than the caches I've added up to this point.

For the moment I'm not caching the edit registration view. I may revisit this in the future.