Assertion ElementHasAttributes added.

Proposing, `browser.assert.elementHasAttributes( [docString,] selector, attributesHash)`
That asserts that the element contains `attribute:value` pairs specified by attributesHash.

This shouldn't replace `doc` from line 61. The condition on line 60 should have an `else` case that defaults `doc` to some generic message like `elementHasAttributes: #{JSON.stringify(attributesObject)}`. Then, here, we should construct a message that looks like: `"#{doc}\nattribute \"#{attribute}\" was expected to equal \"#{val}\", but was \"#{actualVal}\"."`.