Added support for emulating block devices in the virtual filesystem

Added constant for the BLOCK filetype in vfsStreamContent.

Added new file: vfsStreamBlock

vfsStreamBlock is an extension of vfsStreamFile to represent a block device in the virtual filesystem, much the same way block devices are actually represented.

Added method to get a new block device in vfsStream.

Added a case for block devices in vfsStreamAbstractVisitor.

If there are any other requirements needed for this to be merged upstream please let us know, block device support is something that we found beneficial for our testing purposes.
It would work for that case, but I believe if something like [] appears that there is another bug somewhere else (for example having `'[' . $foo . ']'´ with an empty `$foo`). This makes the regex already used and an exception when the name is empty a better solution.