text: Title: Field Directive Is Not "Inherited" From Interface
  Body: I was adding query complexity analysis into [graphql-utilities](https://github.com/melvinkcx/graphql-utilities) while I came across this strange behavior. 
  
  In the following schema, the `@cost` directive of `createdAt` in `TimestampedType` is not found in `Announcement -> createdAt`.
  
  ```
  interface TimestampedType {
          createdAt: String @cost(complexity: 2)
          updatedAt: String @cost(complexity: 2)
  }
  
  type Announcement implements TimestampedType {
          createdAt: String
          updatedAt: String
          announcementId: String! @cost(complexity: 4)
          title: String
          text: String
  }
  ```
  
  This is the screenshots of my debugger:
  1. `<AnnouncementField> -> ast_node -> fields -> createdAt`:
  ![Screenshot from 2020-02-10 20-37-58](https://user-images.githubusercontent.com/16914545/74147294-422eb380-4c46-11ea-899b-9f45a1a717bc.png)
  
  2. `<AnnouncementField> -> interfaces[0] -> ast_node -> fields -> createdAt`:
  ![Screenshot from 2020-02-10 20-38-46](https://user-images.githubusercontent.com/16914545/74147292-41961d00-4c46-11ea-958a-499ebb8825f5.png)
  
  
  As I couldn't find any relevant answer from the spec, I'm not certain if the directive is supposed to be "inherited" from the interface. However, from what I observed in `graphql-js`, inheriting directive seems to be the correct behavior. 
  
  I appreciate any answer or help, thanks!