Ну, гляньте на curl.
>2/ качать файлы предназначенные только для скачки браузерами.
А в этом случае просто необходимо задать значение переменной USER_AGENT
(wget с опцией -U или --user-agent, curl с опцией -A или --user-agent) и
заставить качалку "притвориться" браузером.
>4/ уметь многопоточно скачивать.
Смотрим man curl:
> Curl will attempt to re-use connections for multiple file
> transfers, so that getting many files from the same server
> will not do multiple connects / handshakes. This improves
> speed. Of course this is only done on files specified on a
> single command line and cannot be used between separate
> curl invokes.
P.S.: Кстати, вам вполне может подойти Downloader for X. Несмотря на его
название, он умеет работать и из консоли (с опцией -w), да и всем
остальным вашим требованиям удовлетворяет.