Fixes underscore methods and reduces code duplication.

Fixes #170. 

There is now a central (currently private) method for getting the resolved virtuals of a model.
Use proto instead of the long name, like the rest of the methods
Added tests for underscore methods with virtuals
Merge pull request #173 from nathggns/patch-4

Fixes underscore methods and reduces code duplication.