Better error handling for missing files and extensions.

Better error handling in case of file being present and not having the required extension.

With this path, the flow would look like:

```sh
$ duo test

        error : No such file :  kl
```

```sh
$ cat > test
//Some JS
```
```sh
$ duo test

     building : test
        error : Error: test has no extension, only .js and .css are supported.
```
hmm.. we want to support arbitrary subcommands (see duojs/test).  i don't think only allowing `duo-ls` and `duo-duplicates` is a good idea.