Improving and adding reducers

Summary:
- adding common reducers - Max/Min/Sum Reducer. As you can see - no code duplication
- adding NumericTypeOps functions to support the above
- added Varint encoding class
- renaming registerReduce -> registerReducer

Test Plan: mvn install

Reviewers: pavanka, sergey.edunov, maja.kabiljo

Reviewed By: maja.kabiljo

Differential Revision: https://reviews.facebook.net/D28983