Added support for multi-job dependency

Outstanding items:
1. Pipeline Redis operations.
2. Should depends_on accept both an enumerable (e.g. list of Jobs) and a scalar (e.g. Job), or an enumerable only?
3. Should depends_on accept Job only or job id in addition to Job? If former, then maybe we should make some functions less accepting of different types of inputs.