Simulator integration

I plan to do the integration in 5 main steps:

1) The initial one (this one). Just creating a configuration option for simulation mode. Where main slurm code needs to be modified for simulation (what will be avoided as far as possible) it will be implemented within #ifdef SLURM_SIMULATOR macros.

2) Adding new commands for slurmctld - slurmd communication. As a job does not need to be really executed, the data sent from the controller is simpler and with a new field for job execution time. Also, for getting a deterministic simulation, job termination is done in a different way needing special treatment.

3) Changes to core slurm code. It will be done withtin ifdef clauses.

4) Simulation code. This is a simulation manager, simulation lib and some tools for building traces and scripts for facilitating the simulator execution.

5) Adding tests for regression and use examples.
 
Commentaries will be added explaining functionality and reasons behind (slurm core changes).

As the simulator mode will not have an impact on normal slurm execution all the development can be done in parallel with usual slurm development pace.