DIP29: implicit conversion of pointer expressions

This implements implicit conversions of (ptr+offset) expressions so that the ptr part determines if the expression is implicitly convertible. 

This is a reboot of https://github.com/D-Programming-Language/dmd/pull/1700

http://wiki.dlang.org/DIP29