Switch Identify Method to Use Hooks

Summary: This gets rid of most of the Find_refs stuff that was left by D1744206.

Reviewed By: @int3

Differential Revision: D1746333

Signature: t1:1746333:1419269687:f7c8d76be1d255d652af31a6ec00ca998b809006
Better Implementation of Find Local References

Summary: This uses hooks and it's also a big improvement in terms of cleanness/readability.

Also, the original version screwed up things like the use($var) clause, probably because I was storing information in the environment.

Now the algorithm is:
-with hooks attached, build a map of ident->pos list.
-with hooks attached, if position matches the target, store the ident for later.
-when we're all done, lookup ident in the map to get the full list of references.

Reviewed By: @int3

Differential Revision: D1749279

Signature: t1:1749279:1419269366:0c0f9ee3bb8284cb22423083bd43827e79f887ba
Raise type errors on undefined static polymorphism lookups.

Reviewed By: @elgenie

Differential Revision: D1758674

Signature: t1:1758674:1419881739:3b416928136f4d0099fad0b8036778f6c2a300c3