Which router firmware supports external drives, FTP, VPN, and BitTorrent?

I have a Linksys WRT54GL Router. I'm open to getting another router if it won't suit my needs.

Which firmware should I install?
Which version/build of the firmware?
Any additional modifications I should make to the firmware?

Requirements:

  1. Connect an external hard drive to the router, so that any devices connected to the router can access files from the hard drive.
  2. Run an FTP server (with SSH) on the router, so files on the external hard-drive can be accessed from anywhere.
  3. Run VPN, so that certain computers can access the hard drives over VPN.
  4. Run a BitTorrent client on the router with the files stored on the external hard drive.

I believe all that is possible using OpenWRT.

USB Storage: http://patinya-tuk.blogspot.com/2009/09/usb-storage-howtoopenwrt.html

NAS: http://wiki.openwrt.org/doc/howto/nfs.server

VPN: https://forum.openwrt.org/viewtopic.php?id=1800

BitTorrent: http://bredsaal.dk/transmission-bittorrent-client-on-openwrt

I'd like to add this won't be easy. You are asking a router, any router, to do things it was not designed to do. You are much better off creating a proper server and forwarding the ports as needed.