Fix if statements

Multiple code pathes were untested, fixes broken if statements that only
did the default behaviour
Add logical defaults

Take environment variables as defaults for ARCH and CROSS_COMPILE
Don't assume the user wants to make with a defconfig.

For anything except a kernel build it is unlikely a user will want a defconfig
default so it must now be specified.
Improve error message
Don't git reset if couldn't pull.

Use case is probably that the build is trying to build out of branch and so
the git clone will have put it in the right place.
Handle git pull failing better

It is possible that git pull will fail legitimately. Users may descide to use
this script with a detached head in their repo. This will cause git pull to fail
but provded they just cloned, it they may want to continue.
Hopefully users who hit this will know what they are doing.
Don't pwd to get the repo to clone from.

If they don't run the script in the root of the git repo then pwd won't give
where the script should clone from, replace with $(git rev-parse --show-toplevel)
Handle work path better.

Rather than cloneing directly into work_path and building in there, it makes
more sence to clone into a dir in work path.
Work out the root dir of the repo as a name to clone into.
This patch adds the advantage of detecting earlier if the user is not inside a
git repo and aborts sooner.
inital README commit