[4.0.0] externally defined error handler

lambda function defined inside the main server function made it impossible to test
[4.0.0] moved specs from cli/ to spec/

we don't need the subdirectories to organize identically named modules in separate trees
[4.0.0][#460] if the serve command cannot change into the project directory, executes the callback with a sensible error message
[4.0.0] unit tests for serve command

very basic, edge case error with passing a sinon stub to clobber the modules phonegap server dependency is currently blocking complete coverage