reworked directory runner handling after bug; now associate dir-runners and files and track both together + improved order of processing

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
bugfix: expect files to represent an array and not be nil => so check against array.empty? instead of nil

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
removed three stupid copy'n'paste bugs

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
fixed file lists being passed on incorrectly internally (eg hash-like array, double-array)

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
sort files before putting them into the runner

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
updated todo list

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
updated todo list (caching runners/mimes of files)

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
recognize partial files and strip file extension to correctly detect actual mime (eg video.avi.part -> video.avi -> detectable)

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>