Adds cut-off checks for triclinic domain decomposition

With domain decomposition and 2 decomposition cells in a trilinic
dimension, the cut-off could be longer than the size of the
communicated domains. This could lead to some pairs close to cut-off
distance to be ignored in the force/energy calculations.
Fixes #1467

Change-Id: Id7e16d7f8fa0796d6adcf48ad6e8bbb0b88039ff
Move some math headers away from legacyheaders/

- Move nrjac.* to linearalgebra/
- Move do_fit.* to math/

Also some minor associated clean-up.

Change-Id: I11943d5c9a0150133ca0a0d9bc36aceb06fb8bca
Fix documentation of swap/enums.h

Another issue picked up by the doxygen documentation checker.

Change-Id: Ieaad04e713bb045a018823d26983dea1d52b202f
Clean up smalloc.h

- Remove unused maxavail() and memavail().
- Remove unused scalloc().
- Remove srealloc(), which was only used in gmx_bar.c, and even there
  incorrectly.
- Move scoped_ptr_sfree to a separate header (this also potentially
  postpones issues that boost causes in CUDA code, since this is the
  only part that currently was pulling boost into CUDA).
- Convert all documentation to Doxygen.
- Fix some system header dependencies that were previously covered
  transitively, and fix some stylistic issues in the touched files.

Preparation for moving smalloc.h from legacyheaders/.

Change-Id: I89d6445799d818ccdb2bd93b6592eff1ccc618a7
Added CMake support for Extrae.

Website of the project is http://www.bsc.es/computer-sciences/extrae

Change-Id: Ifc71637ae7fbe855f3879b19f0968e929a92daf0
Remove quote

"No gentleman wears a beard" would be ridiculous, and so is
the quote removed here.

Change-Id: Iac8aec72776dfe0147db15c32e7170004b168cab
Fixed compilation issue in fgrid.cpp due to int/enum

gcc 4.8 is somewhat more picky about enums, and this
patch fixes an issue where an enum variable was used
outside of the defined range.

Change-Id: Ibfd7720d1d3e575c45bc1d5dbd30daad6391400c
Remove #include <...> for local files in gmx-view

There were only a few remaining, and those don't seem to be necessary
for the headers that were including them.

Change-Id: I99c6663edc0e608fe349206d9a9ecdd2d61faea2
Move smalloc.h to utility/

One common header away from legacyheaders/.
Mostly mechanical replacement for the include paths, but removed a few
instances where the header was included more than once.  Also, reordered
the headers a bit, mainly in C++ files.

Part of #1415.

Change-Id: Ic438d501ebf5eccc285655a9e8f2f625eb12f1d1
Re-use gmx_greatest_common_divisor()

Change-Id: Iee3a7b3bc339639360eed3498769efe64dd7dbf8
Added LJ-PME and LJ Pot-switch to PME load estimate

Change-Id: I7f032fffb0a26d40914740c1180c4137c0b95653
Fix bug accumulating nrank_pp_intranode on PME ranks

The old code led to cr->nrank_pp_intranode=zero on PME ranks, which
meant that a command line of mpirun -np 4 mdrun -npme 2 on a two-GPU
node would fail, because gmx_select_gpu_ids() runs on all ranks, and
it calls limit_num_gpus_used() which thinks 0 PP ranks and 2 GPUs is
silly. Adding -gpu_id 01 works, of course, but that takes a different
code path in gmx_select_gpu_ids().

Change-Id: Iecd43ef9b71e2cc0339e93724b6b1071f0a159f6
Fixes for g_tune_pme for 5.0

Removed unused variable procs, particularly because mdrun
no longer writes such a quantity on the "Total" line of
the walltime reporting section.

Change-Id: Ib49afc25c7d5119da7e315fab45d33cb64629b63
Move string2.* to utility/cstringutil.*

Another common header away from legacyheaders/.
Some associated #include cleanup.
This reintroduces some unwanted dependencies (like utility -> fileio),
but those need to be fixed separately.

Part of #1415.

Change-Id: Iffb2820019e2b41ef74bcabcd202364917e43d58
Removed possibility of compiling with GSL.

Cleanup up of programs that are not functioning well anyway
will be done in conjunction with a move to the new analysis
framework. Removed g_kinetics.

Refs #1472

Change-Id: Ic948e239fd77d8ae519a6462c1e25f908a5de014
Add doc for spec. values of GMX_MAXBACKUP

Change-Id: Ibea096daa61e08e32f8dba05ba6afc5c7fbbb28c
Move string-parsing code to where it can be reused

Change-Id: Ie043e403828237ee3a58baaa1521df2ea58d2f6d
Clean up gmx_fatal.*

- Remove unused functions and macros.
- Replace some one-use wonders with a direct call to gmx_fatal().
- Add basic Doxygen documentation.
- Clean up some (but not all) gmx_fatal.h includes, removing unnecessary
  ones and adding some transitively covered ones.  Didn't go through all
  the files, and didn't do this very carefully, so some are still left.
  but as long as vec.h includes gmx_fatal.h, it doesn't really matter...

Preparation for moving gmx_fatal.h away from legacyheaders/.

Change-Id: I96934ac6ce6bca1e4e8473bdee2b8fec036b0f76
Remove ancient SGI-specific code

Change-Id: I32aa353faf8848690e1ae931e958d04aff10c121
Doxygen documentation for version.h

This allows removing one suppression from the new checker, and it is
anyways nice that the documentation can actually be linked from relevant
parts of earlier documentation.  Some of the mentions of 4.6 could
perhaps be removed as obsolete in the future, but left them there for
now.

It requires extra investigation how to make the Doxygen build pick the
file up with an out-of-source build (if at all possible).

Change-Id: I196e89d1193cb8034580aee7d0d0bd5196ac176d