Bug 906316 - Don't download the xulrunner SDK each time we change a branch if their configuration are different r=yurenju,asuth,ochameau

This also shows a message when the archive file seems to be corrupted, advising
to run "make really-clean". Also changed "make really-clean" to remove all
xulrunner related files.

We now uncompress the archive directly in a specific directory that should
change when we change the URL.

We use a dot file inside the xulrunner SDK directory to keep the URL used to
download that SDK.

Now we can also define XULRUNNER_DIRECTORY from the command-line. If not
defined, it will use the default xulrunner-sdk-26/xulrunner-sdk.
We can also define XULRUNNER_BASE_DIRECTORY which is the place where the
XULRunner SDK will get uncompressed.

We export the new XULRUNNER_DIRECTORY variable along with the
existing various xulrunner program paths. These paths have been made absolute
using make's `abspath` operation.

The patch also removes the ./ prefixes to those paths as they're likely useless
and prevent from using an absolute path when defining XULRUNNER_DIRECTORY from
the command line.

This patch also remove the email's build_stage directory when running "make
clean".

This _will_ make all devs redownload XULRunner, sorry.

This make the build fail if submakes fail

Also add documentation at the top of the Makefile.
force some preferences mandatory and useful for the integration tests