typechecker: support for abstract final

Summary: * adds parser support for 'abstract final' (but not 'final abstract')
 * introduces a visitor to typing_hint
 * uses the visitor to peer into hints to detect uninstantiable names
   for function params, method params, and typedef and class constraints

Reviewed By: @jwatzman

Differential Revision: D1645753

Signature: t1:1645753:1414707324:42f9d990059f5f50de095ed54c9513907507c51b
Revert "Silence warning from CMake Policy CMP0026"

Summary: This reverts commit https://github.com/facebook/hhvm/commit/5b8c73ab2bfb31d29d52c7bdba28bc58ba1dd066

Reviewed By: @ptarjan

Differential Revision: D1650299

Signature: t1:1650299:1414713932:a1335e585ff36e5686b9b18f6513e5f4995094ba
Fix doubled license headers

Summary: Whoops, this should have been BSD all along.

Reviewed By: @Jo-Con-El

Differential Revision: D1653495

Signature: t1:1653495:1414796786:56815b4b7af2f06e51305a317bccd186e4051ef7