Forward proofing and fixing

For Ubuntu 14.04 (or when we don't have the specific repo for the version) chef would fail when it couldn't find the attributes, this checks for them and otherwise builds from source.

The second problem is that when building from source we also need to make sure we have a suitable C compiler, changing to the build-essentials metapackage.