This patch is a bit messy and could probably use some more refactoring, but I figured I'd send it out to get some feedback first. The goal is to make using arguments with shell aliases a bit less painful. See the patch message for more information.