Added new static checks

Added the following checks:
<ol>
  <li>Check for @Inject on a final field</li>
  <li> Validate the use of scoping annotations
    <ul>
      <li> error if a scoping annotation is anywhere but a class or method </li>
      <li> error if a scoping annotation is on an abstract class or interface </li>
      <li> error for more than one scoping annotation is on an element where scoping is allowed </li>
      <li> warning if a scoping annotation is on a method that is not a @dagger.Provides method </li>
    </ul> 
  </li>
  <li> Validate the use of qualifier annotations
    <ul> 
      <li> error for more than one qualifier annotation on an element where qualifiers are allowed </li>
      <li> error if a qualifier is anywhere but a field, method, or parameter </li>
      <li> warning if a qualifier is on a non @dagger.Provides method </li>
      <li> warning if a qualifier is on a parameter that is not an @dagger.Provides method parameter or an @Inject     constructor parameter </li>
      <li> warning if a qualifier is on a non-injectable field </li>
    </ul> 
  </li>
</ol>