build: Add support for vendor product and device name

 * CM's build system assumes some convention-over-configuration which
   we might need to override in order to conform to vendor requirements.
 * Allow overriding of target and product names using these new
   variables. This allows for CM conventions to work, while generating
   the correct fingerprint dynamically without post processing the
   strings.

Change-Id: Ic5913e587400dd38c04aa05de3a7becced77a59e
Use CM standard qcom naming

Change-Id: I360b3dcf1fe82140a7993189e881f9d77b571bef
build: Include pre-pathmap extra config

 * We need to mess with the pathmap for building simplerecovery in user
   builds, but previously there was no way to do this externally.
 * Source an optional config file before loading the pathmap so that we
   can do some magic without having to set environment variables outside
   the normal build system.

Change-Id: I6132f9e6ffa04678378a5a00ba37b98cd4d9f773
build: merge CyanogenMod

Change-Id: Ib33b0288d9ca0c56001a121ce1559a3cec66f364