Added support for Host-line aliases, plus minor cleanup

Hi David,

I've added support for a feature I have in my .ssh/config that I'll call "aliases".  On a Host line, you can have multiple names (or really, patterns), separated by space.

These two commits are a whitespace-only cleanup commit (c568a54f295e59696ec1b3b2acbb4eadc37a6317), and then the main work of adding alias support (with a bit of additional cleanup).

full commit message for the main commit:

commit 8547042bf1f223da961caf403aa1c91d7bff3f44
Author: David Lindes
Date:   Wed Feb 9 02:25:11 2011 -0800

    added support for Host aliases (and alias,unalias commands)
    
    the ssh_config man page mentions that Host lines may contain "more
    than one pattern... separated by whitespace".  I personally make use
    of this feature, and discovered that this tool didn't handle that case
    very well.  So, I added support for it, including:
    
    - when parsing the file, treat multiple whitespace-separate items as a
      name and a list of aliases.
    
    - Allow matching for 'show' command against an alias (also allowed
      multiple name/alias arguments).
    
    - added an 'alias' command to create new aliases.
    
    - added an 'unalias' command to remove aliases.
    
    - updated documentation accordingly.
    
    - minor cleanup (removal of trailing whitespace, error reporting, etc.)


[Side-note: I originally did a fork, and pushed to it with 4 commits; I later deleted that fork, re-forked, and pushed with a rebased version that squashed that to 2 commits.  Hopefully this didn't create any grief.  Let me know if I need to re-do anything (I'm somewhat new to git, and I'm doing this late at night.  ;)]