Clean up tree enumeration and `-contents` API.

- Rename `-contents` to entries and make it a property.
- Rename `enumerateContentsWithOptions:` to
`enumerateEntriesWithOptions:`
- Switch block return type from `int` to `BOOL`
- Add a `BOOL` *stop parameter to the block.
- Reorder the block arguments so that the enumerated object is first to be passed in.
- Add a test on `enumerateEntriesWithOptions:`, testing the `stop` parameter.
- Logic and Style fixes.