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.
This is probably incorrect, but isn't this query and the subsequent forloop nearly equivalent to:

```sql
SELECT 1 
FROM (SELECT processed_data_id, array_agg(sample_id ORDER BY sample_id) as samples
      FROM qiita.analysis_sample
      WHERE analysis_id = %s
      GROUP BY processed_data_id)
WHERE samples=foo;
```