Additional elements ported from Java

Ported some elements from AgilePM missing from C# port as I'm working on the F# port. Also some idiomatic C# improvements.