Add classes and extension methods for code guard. It's primarily used in method parameter validation. It can replace the .Net code contracts.