Adds a few more complex edge cases which are supported. Also adds some documentation, simplifies the code a bit and forbids using double quotes as a delimiter.
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.