Add validateContext to allow validation per specified context

This will allow to have more then one validation rules per model. I.e. user model can be validated by main validate() method and/or validateContext('profileUpdate') method.