[API Notes] Add support for expressing the types of entities.

Introduces the "Type" key for global variables, properties, and
parameters and the "ResultType" key for functions and methods, to
describe the (Objective-)C type of that entity. This commit handles
YAML, the representation of this information, and round-tripping
through the binary API notes.

Part of rdar://problem/28943642.

(cherry picked from commit ebca3ea28181818c7fe7ba320c9ae7775d8678fa)
6 files changed