mk: ensure that we have a version number before starting the download

This print an error message when the user did not choose a proper
version nu,ber when creating a new environment, instead of causing
weird errors later:

$ nv mk my_env --go-prebuilt
Creating environment: my_env ...
 * installing go-prebuilt== ...
 - please choose a version (eg. --go-prebuilt=$VERSION, see `nv ls-versions --go-prebuilt`).
common: make curl fail on HTTP errors

By default curl just prints the response body even if the server
answered with an error code (eg. 404).

To avoid storing invalid data in the cache, ask curl to be more strict
and error out when the server replies with an error code.
mk: exit cleanly when failing to download the requested package

Now that curl is refusing to download invalid contents, cleanly handle
the case where the uses asked for an invalid version and the server
replied with 404:

$ nv mk my_env --go-prebuilt=invalid
Creating environment: my_env ...
 * installing go-prebuilt==invalid ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
envirius: failed to download 'https://go.googlecode.com/files/goinvalid.linux-amd64.tar.gz'
envirius: unable to fetch source file for go-prebuilt==invalid
activate: propagate NV_PATH when creating the subshell environment
Merge pull request #8 from em-/master

improved error handling for the `nv mk` command