Added overloaded Add and Sub traits for pointer arithmetic

Implemented ptr arithmetic for *T and *mut T. Tests passing
auto merge of #7631 : MarkJr94/rust/ptr_arithmetic, r=thestinger

Added Add and Sub traits for pointer arithmetic. Any type that is a ```std::num::Int``` can be added to or subtracted from a pointer. Also my additions did not require any unsafe code, and the operators themselves are safe. Fixes #2122.