Added cloning of validation rules in order have independent field validation states

Currently each linked validator directive receives a reference to a validation rule from the provider. 
However for each individual form field the validate() function in the directive may set the `enableError` variable to invoke constant/"watch" validation after a validation rule with invoke "blur" failed after the first blur.

This leads to broken behavior if you have two form fields with the same validation rule because their individual state is determined by a shared member on the referenced rule. 

The most simple solution is to just clone the rule before returning it from the provider. 
As far as I see no side effects. Tests included.