EnsEMBL Hive - a system for creating and running pipelines on a distributed compute resource