File IO Methods

Adds methods for reading, writing and creating files. Supports both binary and string based data.

`File.open()` method acts as a initializer for the underlying FileStreamObject class which provides the methods `read`, `write` and `close`.