CHANGES
- Upgrade framework dependencies from 3.5 to Standard 2.0
- Use Roslyn compiler instead of MCS
- Use standard library's ValueTuples instead of self-made Tuple types
- Use standard library's AggregateException instead of self-made AggregateException type