Include mpi.h in base/config.h to avoid Intel compile error

On my system with Intel compiler, I used to get the following error:
In file included from /lrz/sys/intel/mpi_41_3_048/intel64/include/mpi.h(1279),
                 from [...]/deal.II/include/deal.II/base/mpi.h(23),
                 from [...]/deal.II/include/deal.II/base/utilities.h(21),
                 from [...]/deal.II/include/deal.II/base/index_set.h(20),
                 from [...]/deal.II/include/deal.II/lac/vector.h(24),
                 from [...]/deal.II/source/numerics/data_out_faces.cc(18):
/lrz/sys/intel/mpi_41_3_048/intel64/include/mpicxx.h(99): error: #error directive: "SEEK_CUR is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"
  #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI. Include mpi.h before stdio.h"
   ^

This is Intel compiler 15.0 with Intel MPI. The solution to this problem is to include mpi.h early enough, which for us means to include it in base/config.h before we include types.h.
Merge pull request #271 from kronbichler/master

Include mpi.h in base/config.h to avoid Intel compile error
Improve grammar of error message.
Merge pull request #274 from bangerth/doc-fixes-11

Improve grammar of error message.
use EPSComputeRelativeError in SLEPc SolverBase.
set problem type to generalised hermitian in Step 36.
switch to EPSGetErrorEstimate as others might give inconsistent results
renamed residual_norm to relative_error
added all options with comments
made target eigenvalue a shared pointer
Improve error message for out-of-bound access in parallel vector
Merge pull request #275 from kronbichler/master

Improve error message for out-of-bound access in parallel vector
Fix an issue reported by David Wells.

The problem here is that class DoFHandler only uses pointers to the
DoF faces and levels objects in the .h file, so we thought that we
don't have to #include the respective header files where these classes
are declared. But we also have a serialization function that uses
them and if you call it, the compiler will complain about undeclared
classes being used.
Add the corresponding testcase for hp::DoFHandler as well, just to be on the safe side.
Merge pull request #278 from bangerth/fix-serialization-of-dof-handlers

Fix serialization of dof handlers
restructure and clean up some code
Code cleanup and several bugfixes

Refactor the creation of the final (possibly rotated) interpolation matrix
in make_periodicity_constraints into its own function. Add some additional
asserts to catch corner cases.

Return early if nothing to do (fixes dof_tools_21* tests)
Use spacedim in compute_transformation instead of incorrect dim
Bugfix: Conditionally use matrix in orthogonal_equality

Only apply the parameter matrix in orthogonal_equality if it is a spacedim
x spacedim matrix and can be interpreted as a rotation.

Further bugfixes and documentation updates.
Also check for reverse matching in bits/dof_tools_21_b

Also check for the inverse matching from face_2 to face_1 in the test
bits/dof_tools_21_b. Both directions must produce the same constraint
matrix except for the ordering of the constraints possibly being swapped.

Manually verified that this is the case