Add safe-guards for uninitialised Some<T> members.
Made Either and Option's internal members fields readonly.
More unit tests
Merge branch 'master' of https://github.com/louthy/CSharpLanguageExt.git