Updated style of Hash#fetch spec
Updated style of Hash#filter spec, added a new test
Hash#flatten still returns Vector when passed flatten depth of 0

Previously it would return 'self' if the flatten depth was 0. This made the
return value type inconsistent. Now it always returns a Vector.
Added a test case to check handling of default procs by Hash#except
Updated style of Hash#find specs, added a test
Updated style of Hash#flat_map spec
Updated style of Hash#flatten spec, added a couple tests