Added MANIFEST to .gitignore and removed MANIFEST from repo
Added version import to __init__.py and added *.vim to .gitignore
Replaced IPython.parallel parallelisation with multiprocessing.pool.Pool

Reasons for doing so:
 - The IPython.parallel client seemed to eat up all memory over the
   course of a PSO run in certain circumstances
 - multiprocessing.pool.Pool() may handle memory better
 - Initial tests suggest better performance with objective func that
   takes ~1.2s to execute and 36 particles

NB Now using function objects (with __call__ methods) to present the
parallel architecture with a partial function with 'baked in'
invariant parameters.
Reworked conditionals for selecting/constructing an obj func depending
on whether have opt_args or are using a multiprocessing.Pool to give
more logical code flow.
Enabled support for use of instance methods as objective functions.
Needs testing.
Renamed opt_args to more intuitive extra_args
Fixed parallel execution bug?
Added some support for py3.x: absolute_imports and new names for cPickle and copy_reg modules