Case selection and particle communication bug

A new flag in the input file "Case=" allows to initialize the field data with the corresponding fields without having (forgeting) to compile the code.

In addition a known bug in the particle communication was corrected. The problem causes infinite loops when using non-periodic boundaries. The file corrected was Particles3Dcomm.cpp.

The Poisson corrector has been turned off because it causes problems in some configurations, slow down the code and does not give any tangible improvement to the results of the simulations.
New Poisson correction and Case flags + Particle depopulation

The new flag 'PoissonCorrection' allows to select if the Poisson correction must be active.

The flag 'Case' will select the initialization of the simulation. It is stored in Collective->Case and can be recovered using Collective::getCase(). It can be
 used in other places in the code for specific case related procedures. To add a new case modify the if/else if/else section in iPic3Dlib : c_Solver::Init().

Particle depopulator for the planet case has been included. It removes the particles inside a sphere and imposes a constant charge equal to rhoINIT.
Particle injection

Particle repopulation (injection) at the boundaries has been included in this commit. Warning: particle injection works better with Andrei's OpenBC boundary conditions which will be included in the next commit.
Adding Andrey's OpenBC boundary conditions

These conditions impose B = B0 and E = - ve x B in the boundaries where bcEMface* = 2. This is currently the best boundary condition to use with particle injection boundaries.
Adding constant charge to OpenBC boundaries

This is used to help avoit the noise produced by the OpenBC boundary condition, by imposing a constant charge.
Perfect conductor update + 1st version of the parallel HDF5

A new flag 'PoissonCorrection' allows to activate or desactivate the Poisson correction from the input file.

The prefectConductor boundary condition for the fields has been updated to cover all the 6 faces of the simulation domain.

The first version of the parallel HDF5 output was coded. New flags were added to the input file to use this output:
'WriteMethod' : if equal to 'Parallel' the new parallel output is used, with any other value the classical output method is used.
'SimulationName' : Gives a name to the simulation that is going to be used in the file name.

In the current commit only the Bxc field is saved. More fields will be added in the next commit.
New parallel HDF5 output

In this commit the new parallel HDF5 output writes one file per output cycle. The file contains the B, E, rho_0, rho_1, J_0 and J_1 fields. The pressure tensor components are not yet included in this file. Particles are not currently being writen using the parallel HDF5 method.