The first version of this patch will load aliases from the new location or drushrc.php. We can decide whether to remove the current mechanism, or keep it in place. Because of the way aliases work, we would have to go out of our way to prevent them from being defined in drushrc.php, so perhaps it should remain a sanctioned place.
There will be a default search path for the alias file location, which will default to the drush install directory, /etc and $HOME/.drush, and additional folders can be specified in any drushrc.php file loaded during the DRUSH_BOOTSTRAP_DRUSH phase, or via command-line options.
Inside the search path, drush will look for files named 'aliases.drushrc.php' and '$aliasname.alias.drush.php'.
Alias definitions will be searched for when they are referenced. Every time a local site is referenced by an alias, its site folder will be added to the alias file search path, so site-specific aliases (e.g. '@peer') may be defined.