Relative file paths shouldn't have a leading slash

Previously we were prepending the relative filepath returned by
RelativeFilePath() with a leading slash.

This isn't correct - a relative path should not have a leading slash.
The reason this was added was so that there would be a slash between the
mirror root path and the relative file path, but this is already handled
by path.Join[1].

Update the tests accordingly.

Also, fix the following tests, which weren't testing for a '.html'
suffix because they were not testing HTML content:

- strips out the domain, protocol, auth and ports
- strips illegal characters

[1]: http://golang.org/pkg/path/#Join