MIC requires that mpi.h be included before stdio.h (issue #12)
modified utility/Alloc.h to contiguously allocate memory (issue #8)
Adding indentation to indexes

In file EMfields3D.h the indentation is changed in the indexes of some vectors to improve reading.

This commit is mainly used to test the merging of modifications from multiple developers in the master branch of the GitHub repository.
added asserts.h with macros such as assert_divides(a,b), see issue #15
issue #16: created utility/debug.h with dprintf(...) and dprint(varname) macros
created coarse profiling utility, TimeTasks (issue #17)
implemented use of new profiling utility, TimeTasks (issue #17)
enforced that XLEN divides nxc (issue #10)
added support for Random fields problem (issue #9)
issue #9: changed default problem to Random fields with periodic boundaries
created makefile.knc for Xeon host processor and makefile.mic for Xeon Phi coprocessor
issue #18: replaced Grid and Field classes with typedef to Grid3DCU and EMfields3D
issue #19: modified Particles3D::mover_PC() to improve parallel performance
issue #20: created Moments class used by EMfields3D::addToSpeciesMoments()
issue #20: implemented use of Moments class in interpP2G() to sum in parallel in OpenMP
Merge branch 'issue12' of https://github.com/alecjohnson/iPic3D into alecjohnson-issue12
Merge branch 'pulluptohere' of https://github.com/alecjohnson/iPic3D into alecjohnson-pulluptohere
Corrections and improvements on Alec's modifications:

1. In EMfields the assert function is changed to assert_eq.
2. In iPic3D the default initialization uses the GEM problem: be careful to comment or modify this part if you're not runing the GEM problem (for future versions this should be changed).
3. Contiguous memory allocation is now available using Jorge's version.
   WARNING: Alec's version seem to work better on MIC architectures. If you plan on using iPic3D on MIC, see commit @58f69e812bb6aa8ddf52fa33ed70a9b368d6c3f8
4. Adding memory assignment functions for contigously allocated matrices in Alloc.h (Jorge's version).
5. For compilation reasons the diagnostics.cpp is now diagnostics.h
GEM challenge diagnostics

Updating the GEM challenge input file to print diagnostics on every cycle.
Performance problems from issue #22

Applying patch suggested on issue #22. Tests using the GEM.inp file suggest that performance is improved using this patch on different CPU architectures with gcc compiler.