Adding support for recursive aliases.

Alias expansion is now a loop. If you define

alias A=B:A
alias B=C:B

then A will expand to C:B:A.

Also added a short section to the manual about this.
fixing problem with previous commit if no aliases are registered
Adding tests for recursive aliases
Adding option --recursive-aliases, adding documentation to man-page and manual
Merge pull request #247 from ecraven/master

Adding support for recursive aliases.