Some things I should take care about:

 * If-(Unm|M)odified-Since
This one is totally ignored. Code should be added to correctly return 304.

 * Multiple byte ranges
Totally unsupported but requested with multiple byte ranges can be generated.

 * Handling of files without Content-Length
Those ones wouldn't work now.

 * Get piece of file when issuing a HEAD request
Why not? This way we will silently complete all of the partial files.

 * File recheck
Currently when file is fully downloaded it gets stored in real file tree to be served by production-grade web-server. This way we will never see any requests to that file. Finding oldest ones and moving them to .parts would suffice.

 * File time
Currently when file is downloaded it gets current time, not the time in Last-Modified.
