Test WriteToDisk() and FilePath() methods

Test the new WriteToDisk() and FilePath() methods on the
CrawlerMessageItem interface.

Move some of the fixture variables inside BeforeEach() so that we can
re-use them across tests.

We also now populate `item.HTMLBody` by default as the new FilePath()
and WriteToDisk() methods will only act on content it detects as HTML.

The test for WriteToDisk() will actually write to disk inside the
directory specified by the MIRROR_ROOT environment variable, which must
be set. I don't think this is an issue given that many of the other
tests are also integration tests, i.e. they rely on networking to test
crawling.

Mocking in Go is also non-trivial. Testify's `mock`
package[1] looks like a nice solution but I don't think it's necessary
in this case.

Also add a test for the URL() method on that interface.

[1]: https://github.com/stretchr/testify#mock-package
Rename fileName, FileName to filePath, FilePath

To be more specific.
Test that caps in URLs are converted to lower case
Update README.md to include MIRROR_ROOT

Which is now required. Content crawled will be written to disk inside
this path.
Delete mirror root after tests run

Delete the mirror root directory, as defined by the `MIRROR_ROOR`
environment variable, after each of the tests has run.

Do this after _each_ test in case so as not to cross-contaminate
fixtures between tests.

Also add a note to the README to warn that this will happen.

Add a new file, `helpers_test.go` to contain the shared function that
deletes the mirror root. This would have been named `test_helpers.go`,
but it seems Ginkgo requires it to be named with the `_test.go` suffix.

I also wanted to raise an error and call `panic()` or `os.Exit()` if
`MIRROR_ROOT` already exists on disk to prevent someone from deleting
files they want to keep but I couldn't get Ginkgo to exit before it runs
AfterEach(), which deletes those files.
Update travis.yml with MIRROR_ROOT env var