Unified handling of VM arguments and document's encoding

Commit SHA: 342e4bc8533495f1a1a7f8c5ee60925516a52558 allowed users to
pass specific VM arguments to the VM created to execute the worksheet.
However, that commit caused the worksheet file's encoding to be defaulted
to the system's encoding, if the "-Dfile.encoding" vm argument was not
explicitly provided by the user.

That's annoying, as the default encoding should just be the project's
encoding. And that's exactly the behavior implemented in this commit.

This commit also introduces a `VmArguments` class, which is a simple
container for manipulating VM arguments. For sure it could be much more
richer than it is now, but that is out of the scope of this commit.

Fix #138