make parse_name a private function, since it's not used in CommandWithUpgrade

also, each implementation returns different things
plugin: parse_name() only needs the first arg and only needs to return
the filename.

It accepted the whole arguments initially because it used to check if
the slug was missing. This is handled by the synopsis validator now,
beforehand.
theme: parse_name() only needs the first argument