Ingest improvements

Reworked ingest framework so that the progress of jobs is tracked individually: progress bars and cancellation are now per job. File ingest threads count is exactly as specified by user through Autopsy options panel. Cancellation blocks until ingest job starting thread responds to interrupt and all jobs are marked cancelled, so there is no chance of cross-case contamination on case changes made while ingest is ongoing.