Avoid showing standard command not found message when possible

In bash, command-not-found handler causes the standard messages to not appear. Because of events model in fish, it isn't really an option, so I moved the standard command not found message to fish function. This way, the messages aren't repeated, and the standard command not found message appears only when handler couldn't be found.

Previously:

```
➜  ~ favorite
fish: Unknown command 'favorite'
favorite: command not found
```

Now:

```
➜  ~ favorite
favorite: command not found
```