Build.sh fixes

Updated build.sh so a new user can run it and get guided through the setup process.

Also, it now builds the core proejct before the test project as test depends on core, so can't be built first!