validate POST request data
cleanup CLI a little bit

group cli args, replace 'upstream' with 'default-target',
and make default target optional.