Added basic functionality to run multiple cases.

CanSen can now run multiple cases given by the input file. When the
appropriate CLI option ('--multi') is given, CanSen will parse multiple
cases from the input file and run each independently. Rather than print
detailed output and save data for each, the output file now contains
only the calculated ignition delays and initial conditions for each (on
separate lines).

The next step is to wrap this in a multithreading environment so that
each case can be performed in parallel.
Added --multi option to usage documentation
Moved redirection of stdout outside of case loop
Added multiprocessing support to perform multiple cases in parallel. Closes #30.
Moved multiprocessing import to location of other standard libraries
Added documentation for index parameter in worker function
Added usage example for multiple inputs
Removed redirection of stdout to devnull for case setup in multi.

During multi run, stdout was redirected to stdout to avoid printing
input keywords for every case. However, this had the unintended side
effect of also preventing the display of any syntax errors or omitted
keywords in the input file. So, this redirection has been removed
in order to see any input file errors.
Moved worker results from Queue to Manager dict to ensure correct order
Added short -m option for --multi
Added short multi option to docstring
Number of parallel processes now limited based on processor count
Can now specify number of processors to use with '-m' option.

When using the '-m' option, must specify the number of processors
to use (like '-m 4'). This limits the number of processors used at
a time by CanSen. Alternatively, if '--multi' is specified, CanSen
uses the available number of processors by default.
Fixed minor bugs in last commit
Moved CLI parsing to argparse module to allow optional processor count
Merge branch 'multiple_inputs' of https://github.com/kyleniemeyer/CanSen into multiple_inputs
Remove whitespace at the end of the lines
Check if num_proc is None

Instead of relying on the truthiness of None, directly check for None
Change range(len()) to enumerate()
Check if a line in the input file is empty and ignore it