* code cleanup
* add test suite, including both unit and integration (end2end) tests
* fix semantics for --hybrid, --double, --universe
* add support for --multi
* collect streaming output of MPI program being run via --output
* support mympirun logging to file via --logotfile
* add detection for hanging MPI startup (no output produced for a while), make it fatal by default, provide timeout option
* use --sched=local automatically when needed (outside of PBS jobs)
* randomize basepath directory to avoid clashes
* use pbsdsh launcher by default with recent Intel MPI versions rather than default ssh launcher
* don't define $I_MPI_PIN_PROCESSOR_LIST: default behaviour is fine, incorrectly setting it results in no pinning
* exit with an error for OpenMPI 2.0.x due to incorrect handling of hostnames
* allow oversubscribing of processes on cores with OpenMPI
* balance MPI processors over nodes when --universe is used
* don't hardcode sockets per node to 2 in openmpi.py