Don't make assumptions about the formats of build descriptions

Change-Id: Id83a7594e9e1b9b4ffbdbaba695506d8d0d21a46
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
For user builds, use a release build id in the description if one exists

Companion change to Ic5913e587400dd38c04aa05de3a7becced77a59e

Change-Id: If5edbf56d567701f96f0ba46af9a90ffa8310c24
envsetup: Fix remote functions to deal with symlinks

Change-Id: I6f35dc30dda22149b2c37e1c6c7d41ea7239d3bb