python: Support Model format 2.0

golem/vampyr will pick the CNF based model format 2.0 form the model dir
now, if it is available. Support for the old format 1.0 is retained!

Change-Id: Ib8e54e68f89d2450d8f0211a749e34631be8b909
vampyr: Fix coverage analysis

This change contains various fixes that were found during a code-review
session. In particular, the calculation of blocks selected by
'allyesconfig' is now much more similar to calculated configurations.
Also, the number of 'make silentoldconfig' call is reduced.

Change-Id: Id12299622bf415d9add50adb4d39944ca39d0158
undertaker: Fix compilation with newer glibc (such as found on Fedora)

Compiling on newer Fedora exposes two problems:

a) libm is no longer linked through transitive dependencies
b) libboost-thread is called libboost_thread-mt on Fedora; on Ubuntu/Debian
   this is a symlink pointing to libboost_thread.

This change fixes both problems by adjusting the linker flags.

Change-Id: I1ab07ed1bd5f060a377ccb58c6aa590d1564aa5c
undertaker: integration of model format 2.0

This adds a class CnfConfigurationModel, which allows to load model
format 2.0 files.

Change-Id: I4c96b45b01c655d9122c869cf9fab7ca44b0cf50
vampyr: Fix tool argument handling

This change corrects argument handling for passing custom compiler
options, and improves the diagnostics.

Also, harden against tool failures in vampyr, and improve diagnostics in
such cases.

Change-Id: I8f3cdfa4f50ad81ade4eaa9cbecf8ce1ff07097f
undertaker: always include formula in defect reports

In some cases, the defect reports miss the dependencies found by file
inferences and missing constraints. This change causes that always the
complete formula makes it to the report. In some cases, this may
considerably enlarge the defect reports.
Additionally, empty lines at the end of the defect reports are now
omitted.

Change-Id: I9632b054b857e453d0fbe485a1edc76891c838e6
golem: fix identification of version for ARCH tile

When calling golem while tile architecture is set in the ARCH
environment variable the identification of the project version fails
when no '.git' directory is present, hence 'git describe' is not
possible.
This happens because get_busybox_version is called first and this
function tries to identify the version through a make call after
recognizing no '.git' is present.
Tile itself has the property of cancelling make when the envirionment
variables TILERA_ROOT or CROSS_COMPILE are not set.
get_linux_version normalizes ARCH and SUBARCH to i386 thus calling
make to identify the project does not fail when tile is set
previously.
Thus, trying to retrieve the linux-version first fixes this problem.

Change-Id: Ibcdeff1abbc75cb537b298e3c45dee1395b4affd
vampyr: handle existing partial configurations with option '-k'

This change enables vampyr to reuse partical configuration that have
been calculated manually. Without the option -k, vampyr will remove
any pre-existing partical configuration that may be in the source
tree.

In particular, this is required for scenarios, in which the partial
configuration needs to be calculated on a modified source tree, and the
actual analysis is to be done in the real source tree.

Change-Id: Ic64a72d890c8a1f8945d0feb4e59169744ae253e
golem/coreboot: fix the -o option for coreboot

'golem -o' within a coreboot tree didn't search for CONFIG_-items in
Makefile.inc files but the major makefile variability is implemented
within these files.

Change-Id: Ie3f6906f6ec5777e9ff99876c52b4bf77f1b29fb
golem/coreboot: fix the -d option for coreboot

'golem -d' did not take Makefile.inc files into account when
extracting symbols in current dir.

Change-Id: I71c427998d5176e35f166318a94700588d3c2ba5
golem/coreboot: catch correct exception in do_inference

After calling get_coreboot_version, we tried to catch a NotALinuxTree
exception instead of NotACorebootTree exception.

Change-Id: I8194941b157b0e1c09c6190456d447737e7ac359
tailor: optional parameter to provide strippable path

So far, undertaker-tailor always tries to derive the prefix which
needs to be removed from the absolute path given by the debug
information to get a path relative to a kernel source tree on its own.
On Ubuntu e.g. this strippable path might be "/build/buildd/linux-3.2.0"

However, some of that path information could be in a non-canonical
form. We found that on Fedora one particular path was something like
"/foo/bar/////boo/kernel-tree", which (with our current heuristics)
leads to only stripping away "/foo/bar/" and thus breaking the
analysis of the undertaker tool.

This change adds
a) canonicalization for paths from debug information
b) the option to provide the part which needs to be removed on the
command line

Change-Id: I9361dbe8e9a4d1730a5af1924f702798d7320d94
undertaker: do not fail tests if a previous test run was aborted

In some cases, the test fails because of leftover files from previous
runs. With the extra parameter '-f' to 'cp', such errors get masked.

Change-Id: I992a31c5696442923f404879953aad569fd7bcba
python: Cosmestics: tidy up the makefile

This commit is purely cosmetic.

Change-Id: I02f6729af516e621d3dd549f91d5f29b59a573b0
Add a configuration file for git-review

With the git-review package, which is available in Ubuntu 12.04 and
later as distro pacakge, submitting new changes becomes as easy as
typing "git review" on the shell.

Full documentation is available here:
https://wiki.openstack.org/wiki/Gerrit_Workflow

Change-Id: I02d3ca3bb519f0692813c1e7a89deb07e1a22e48
undertaker: testcases for model format 2.0

This change adds additional testcases for Model Format 2.0.

Change-Id: Id2f5bcac091f9803e27de1098ec995fcf7044cff
undertaker: namespace cleanups

It is generally bad style to have 'using namespace' in headers,
cf. http://stackoverflow.com/questions/1452721

Change-Id: I47814907706d80405008f6085a4aaa15cdfb23df
undertaker: simplify the simplification API

This change removes an unused member

Change-Id: Ie8319b1db9c33d1977a14060a4112780478c438f
ziz: Various cosmetics

Whitespace cleanup, coding style adjustments and file mode markers.
No code changes.

Change-Id: Iede00b67195a5ab735f3155bf1be70308a1d2f5b
undertaker/CNFBuilder: add BoolExpVars to always_on field

For a later exploitation, add BoolExpVars to always_on field.

Change-Id: I9566553b6cb305b1a61490b46b39399e6750f35f