Abbreviate paths because they're too long.

Hey, thanks for writing this great buffer list! I am using it with snapshots of the latest Emacs trunk and it's working really well. 

Only problem is, I have a *ton* of really deep file heirarchies on my system, so displaying the full path is really killer. This patch abbreviates /home/username into just ~, making it much shorter.

Another thing I'd like to do is change the column widths, do you think that's possible? I didn't see the column widths defined anywhere in your code (just had a quick skim).