Improvements to error reporting

Make the position mapping more robust. And some small improvements to error messages and positions.

Resolves https://github.com/playframework/twirl/issues/17
Resolves https://github.com/playframework/playframework/issues/2865