Added the ability to provide custom messages for web element state

Normally, to check the state of a WebElementFacade, you do something like this:

@FindBy(css=".whatever")
WebElementFacade myfield;
...
myField.shouldBeVisible();

Now you can also do this:

myField.expect("My field should be visible").shouldBeVisible();

This will work for any of the "should"-style methods (shouldBeVisible, shouldContainText, etc.).
Refactoring some tests
Duplicate screenshot images are shared

Screenshots filenames are now the MD5 digest of the screenshot. As a result, duplicated screenshots between tests will be shared. This might save some disk space.