Hash#fetch passes missing key to default block (like Ruby's built-in Hash)
Hash#clear maintains default block, if there is one
Added extra test case for Hash#each
Added test case for when Hash#fetch is called with wrong number of arguments
Added test cases for when Hash#flatten is called with no argument or on an empty Hash
Added various new test cases for Hash#get
Add test case for Hash#invert when called on subclass
Add test case for Hash#merge when called on subclass
Added test cases for order which Hash#merge and Hash#remove process elements
Add test case for Hash#sort when passed a block