fix ability to undefine default aliases in zsh

The ability to not define default aliases in the `.git.scmbrc` file leading to not having those aliases not present worked fine in bash.

However, this seems to still have thrown an error in zsh.  For example, if you commented out the line:

        git_checkout_alias="gco"

then when sourcing scm_breeze, `aliases.sh` would throw an error.

This applied only to aliases defined with the `_alias()` function and not those with the `_git_alias()` function.

To fix this, I wrapped `_alias()` in a similar check to the one `_git_alias()` has, where it passes the portions as arguments and verifies the first is present before proceeding.

I'm not 100% certain why seperate functions exist for these two things to begin with (as far as I can tell from a cursory examination the main difference is `_git_aliases()` defines a tab completion?) but I believe my change has fixed the ability to comment out aliases in `.git.scmbrc` in zsh for users who do not want them (I'm in this boat, there are too many for me and I get confused).

I tested manually in both bash and zsh and it appears to work, however you might want to review this before merging given my relative unfamiliarity with the codebase.