Splitting up resolve to remove closure creation at run-time

Hello sho, eford, 

Please review the following commits I made in branch 'jeremy-perf'.

4fef8401c422daee118ed5879bfb77001b230e4f (2013-03-04 15:45:47 -0800)
Splitting up resolve to remove closure creation at run-time

eea168075e12a2461d6c5ad4ebc16794ba32a487 (2013-03-04 14:58:30 -0800)
Split up the resolver

03e5d04f5140f0aa1deab53e6bb78e12d71f6a6a (2013-03-04 14:22:09 -0800)
Breaking apart _resolve

R=sho
R=eford