Change error message for typo in helper's name

I've tried to make the error message more helpful, when helper name is misspelled. I created new type of error (MissingHelperModuleError) which is raised when expected constant is not loaded. I'd appreciate any feedback  about my solution.

Fixes #16468
Actually, we already have a similar case here and it uses `LoadError`:

https://github.com/rails/rails/blob/master/activesupport/lib/active_support/dependencies.rb#L482

Perhaps we should just reuse that so code that is already catching it would Just Work™? (Probably should steal that error message for consistency too)