multipart: check for empty part content-type
test: add test for multiple unquoted header value params
multipart: use custom basename for filenames

Currently the behavior of node's built-in path.basename function
changes depending on the platform that node is running on. So we
use our own custom basename (in the meantime) that checks for
both POSIX and Windows style paths on any platform.