Fix shutit srv

Shutit srv was in a pretty sorry state. It now seems to be fixed, with a notable difference from before that *you must select a module for building before having access to its config*.

I changed a bunch of other stuff:
 - $PATH onboarding is less broken
 - If the shutit repo is a subdir of where you're running shutit from, it won't traverse into there.
 - shutit srv is now *always* noninteractive
 - no more cherrypy, it didn't work anyway

One important one:
 - allowed images checking now raises an error via the normal mechanism ShutIt*Exception and will therefore have exit code 1. Regarding the comment about playing nice with tests - if this breaks tests, the tests need fixing!

I also changed around phone home a bit. It will now
 - assume we have urllib (what kind of bizarre python doesn't!?)
 - not phone home if we're not interactive
 - not phone home on a *user* error (i.e. ShutIt*Exception)
 - only try and phone home if it doesn't recognise the kind of exception