Changes argument valididation to more modern, assert or throw model using the new `nameof` compile time operator. API breaking changes due to the new ADAL models used.