Initial commit of elementary effects code

Implemented EE as published in Morris (1991), with additions from
Campolongo (2007).
morris - rescale delta to [0,1] following Saltelli (2008)
scaling is multiply not divide
Added Campolongo's distance measures

Includes test harness for Campolongo’s improvements to Morris’s
elementary effects
Added esme script to end of file
Implemented pep8 improvements
Removed debugging comments
Implemented PEP8 syntax improvements
Changed defaults for morris_oat.py

Changed defaults for grid levels and grid jump size to those
recommended in Saltelli 2008 (4 and 2 (2/3) respectively).
Sep'd scores and combos from find_most_distant sub

Separated scores and combinations returned from the find_most_distant
procedure (to aid testing).
Typos and comments
Replaced inner loops with additions
Move files to new locations
Add profiling procedure
Merge branch 'optimise_loop' into morris_ee
Implemented map() and reduce() to distance calc
Updated profiler
Added __init__.py for package and imports
Removed multiprocessing

Added Map sub-function within find_most_distant function.
Added test for Map (commented out)
Started incorporating into a Class optimised_trajectories
Updated .gitignore
Added test_params.txt for tests
Added tests and optimised distance summation

KEY CHANGE - included from__future__ import division (essential to
correct operation of the morris_sample() function.
Changed args to morris_sample so that bounds and num_vars are
arguments, rather than calling the read_file procedure.
Optimised the private function Map() by using np.einsum() to conduct
sum(square(distance)) resulting in 3-4x speedup.
Wrapped whole optimisation of trajectories in new function
find_optimum_trajectories(), which returns the k_chioces number of
trajectories from an input sample size of N.
Started on a class OptimisedTrajectories() to wrap the whole lot in.
Added parser and arguments for running the esme.py file as a module
from the shell.
Added tests for the new procedures.