[BUGFIX beta] deprecate location: 'hash' paths that don't have a forward slash. e.g. #foo vs. #/foo

Also adds much needed test coverage for HashLocation in general.

Requested by @rwjblue before we merge #9367