Resolved #589 where the method rules returned my methods were not e...

Have made following changes that resolves #589 
 - Added to the list of `MethodRule`s declared as fields, rules returned from rule provider methods which solves the issue
 - Added relevant test cases incorporating the change
 - Change in `TestClass#getAnnotatedMethodValues` method because previously while scanning for methods returning a rule of particular type method invocation was done and then the type was evaluated based on returned value. But this behavior created a side effect and failed a test when I incorporated behavior to resolve the issue. The case `TestRuleTest#testCallMethodOnlyOnceRule` failed because `TestClass#getAnnotatedMethodValues` was called twice to scan for `@TestRule` and `@MethodRule` annotations and that called method rule provider method twice. To solve that change is incorporated in `TestClass#getAnnotatedMethodValues`
The `getTestRules` method processes annotated methods before annotated fields. I think we should do the same thing for `rules()`