gcc-{,cross-}wrapper: add 'cpp' wrapper (close #1820)

The gcc-wrapper doesn't wrap 'cpp'. This breaks some software (such as
Buildroot) because the 'cpp' they get come from the non-wrapped gcc
package which doesn't know about any standard include paths.

gcc-cross-wrapper is untested.
gcc-wrapper: preferLocalBuild, as it does little work

This is re-revert of e31523a369a.