Implements Object.ToString method
Adds a check for invalid addresses
string.Concat replaces null with an empty string
Fixes two issues

The first issues in ldelema opcode caused invalid addresses to be pushed
on to the stack and the second issues caused virtual methods called
using call opcode behave as if they were called using callvirt and
therefore ended up with StackOverflow exception.
Implements string.Join method
Implements string.Concat(string, string)

And also change the way how methods are fetched from method tables in
order to support overloads.
Implements Environment.NewLine property
string.Join now supports both Lists and arrays
Fixes two issues

The first one caused an address to be stored as a content of an object
rather than a value stored on this address and the second caused
Object.ToString call not to check if it's overriden.