Add `stream_metadata` to stream wrapper

This adds support for functions like `touch`.
Add `touch` acceptance test
Test touching new and existing files
create directory recursively

- Removes call to non-existent method ‘checkBit’
- Uses $recursive option passed as 2nd argument to determine if
recursion should occur
- Removes unused argument from DirectoryHandle::buildNodesRecursive