Add a linter rule for *val functions
Summary: Type casts should be used instead of calls to the *val functions as function calls impose additional overhead.
Test Plan: Added unit tests.
Reviewers: epriestley, Blessed Reviewers
Reviewed By: epriestley, Blessed Reviewers
Subscribers: Korvin
Differential Revision: https://secure.phabricator.com/D14572