ENH: parallel context

Currently don't have support for mapping yet, but we can submit system calls or function calls now via IPython. The latter may require state updates on the engines, which is feasible from the current context. It is likely that mapping will go in relatively easily. 

From the shell:

```bash
$ echo -e "profile\tdefault" >> ~/.qiime_config
$ echo -e "n_engines\t2" >> ~/.qiime_config
$ parallel start
```

From within Python:

```python
>>> from qiime.parallel.context import context
>>> context.submit_sync('hostname')
('rl1-1-220-221-dhcp.int.colorado.edu\n', '', 0)
>>> def foo():
...     return "bar"
...

>>> context.submit_sync(foo)
'bar'
>>> def foo(a):
...     return a**2
...
>>> res = context.submit_async(foo, 5)
>>> res.result
25
```

From the shell:

```bash
$ parallel stop
```
I'm unsure about this comment. Are you talking about the `jobs_to_start` parameter (I'm no longer allowing the job name)?

I'm not allowing the `jobs_to_start` parameter here because I don't have to split the input file in any number of jobs. Here, I have to execute the same alpha diversity command over a multiple number of input files, and makes more sense to just create one job per each input file and let IPython to schedule them. Makes sense?