Package rename to Foreign.CPP

Makes it more standard w.r.t. to Haskell package naming conventions.
Macros for function definition

And names were fixed to be more uniform.