Improvements to attribute handling.

This commit contains several things:
Extend h5open to allow "do" block syntax, i.e.
```
h5open(name, "r") do f
	blah...
end
```

Extend attrs() to work on file objects for getting attributes on the root node,
i.e. `attrs(fid)` should now work.

Added ability to enumerate attribute names. So, you can now do
`names(attrs(...))`.