Generalize ipython cluster creation to allow heterogenous engines with multiple cores. Remove separate configuration step for clusters moving details into commandline arguments to ipcluster