Update analysis job objects

This adds some functionality to job objects that is needed for the commands selection page. Exists now properly checks the data used for the job, and delete now works for jobs.
Regarding the comment about mixing languages, this would be much cleaner to look at if the SQL queries were pulled out and centralized so that we aren't mixing.

This method is quite complex for what should be a simple search operation. Why not hash datatype, command, options and analysis.id on job creation and store that?