Split build-related code from cmdline.py to new build.py module.
added 'serve' command.
commands now fail gracefully if not executed in a valid project dir.
nicer implementation of my last commit.
serve cmd doesn't crash if exception occurs during auto-rebuild.