#2 added AgainstNullArgumentIfNullable
#2 added AgainstNullArgumentPropertyIfNullable
refactored
tidied up specifications