potentials: enable reading of HDF5 parameters

Use Lua metatable magic to convert 1-species table to boost::array<float, 3>.

This commit fixes #92.
cmake: compile with -fvisibility-inlines-hidden for GCC < 4.5

At least one version of GCC 4.4.x fails (GCC 4.4.1 on openSUSE 11.2, see #91)
to catch exceptions across shared library boundaries with -fvisibility=hidden

This commit fixes #91.
potentials: fix continuation from HDF5 parameters with Lua 5.1

The Lua C API function lua_objlen does not honour the length metamethod __len.

Accept table of arbitrary length, which will generate a cast error if
the number of elements is less than the size of the boost::array.

This commit refs #92.
thermodynamics test: reduce sampling rate

The imposed test tolerances are based on the measured error of mean, which is
only reliable if the individual samples are uncorrelated. Thus we increase the
sampling rate to approximately match the relaxation time of the fluid (obtained
from the initial decay of the VACF for d=3).

This commit addresses the constantly failing unit tests and fixes #81, #82.
Update submodule libs/h5xx

* libs/h5xx:
  Replace occurrences of &front() with generic &*begin()
plot_h5md: adjust script to changed HDF5 output structure
thermodynamics test (2d): add self-made reference values

So far, basically no thermodynamic quantities were tested for d=2 and it is
better to test against self-made references at least. Of course, it would be
nicer to have reference values from an external source.
writers/trajectory: move box attributes from trajectory to observables group

This follows the changes of H5MD commit c787ebb.

Thanks to Felix Höfling for pointing this out.
Write trajectory and observables groups to single H5MD output file

This is consistent with the behaviour of the example scripts of the
master branch, and avoids a trajectory file without box attributes.

Note that the master branch allows arbitrary many output files via
scripting. As a work-around for the 0.2.x version, h5copy can be
used to split an H5MD file into multiple HDF5 files if desired.

h5copy -i <output>.h5 -o <output>_dynamics.h5 -s /h5md -d /h5md
h5copy -i <output>.h5 -o <output>_dynamics.h5 -s /parameters -d /parameters
h5copy -i <output>.h5 -o <output>_dynamics.h5 -s /dynamics -d /dynamics
writers/trajectory: write type attribute to box group

This implements the changes of H5MD commit aff1f2f.
verlet_nvt_hoover: purge option timestep

The simulation timestep has become a global option.
h5md: rename dataset "sample" to "value"

This implements H5MD commit eff7ae6.
integration/continuation: compare H5MD trajectory in continuation tests

Add test case that compares two H5MD trajectory groups given a pair of
H5MD files and dataset offsets. The comparison is binary exact, which
assumes reproducible floating-point operations used in the periodic
extension of particle positions for writing.

This test uncovers an error in resuming from an H5MD trajectory in the
case of a mixture, which has been discovered thanks to Felix Höfling.
This affects only the 0.2.x version, and is fixed in the next commits.

The following tests passed:
        integration/continuation/lennard_jones/host/2d
        integration/continuation/lennard_jones/host/3d
        integration/continuation/lennard_jones_simple/host/2d
        integration/continuation/lennard_jones_simple/host/3d
        integration/continuation/lennard_jones_simple/gpu/2d
        integration/continuation/lennard_jones_simple/gpu/3d

The following tests FAILED:
        integration/continuation/lennard_jones/gpu/2d (Failed)
        integration/continuation/lennard_jones/gpu/3d (Failed)
Fix duplicate tags when resuming from multiple trajectory groups.

Commit:e69c24c assumed that particle tags are local to a species,
which is not the case. A particle tag uniquely identifies a particle
within an instance of host::particle or gpu::particle.

This broke reverse tags, since the index of the g_reverse_tag array
is defined as the particle tag. This caused disordered trajectories
upon resuming from multiple trajectory groups, e.g. a mixture.

This partially fixes #75.
gpu::particle: fix initialisation with duplicate particle tags

This completes the fix of the issue addressed with commit:fcc1da1,
and restores the uniqueness of particles tags on the GPU, as found
in the 0.1.x version and the master branch.

Revert "gpu::particle: use unique tags within a type only"

This reverts commit c0aae30e7d2a5dc190394bfcffef9316d6c3a449.

This completely fixes #75.
host::particle: fix initialisation with duplicate particle tags

This restores the uniqueness of particles tags on the host,
as found in the 0.1.x version and the master branch.

Revert "host::particle: use particle tags unique within a type"

This reverts commit f81998eb721acf6e20d8b83b51ee3ce2c43ade20.
Update submodule libs/h5xx

* libs/h5xx:
  Include header files in the order project → library → stdlib.
  Fix maximally inefficient dataset chunk size.
Update submodule libs/h5xx

* libs/h5xx:
  Fix chunk size for fixed-sized dataset dimensions.
phase_space test: randomly permute particles before sampling

Particle reordering happens during a long simulation. The test is more
sensitive if the particles are not ordered in memory according to their tags
and types.
utility: fix FTBFS of debug build with Boost 1.43.0

Boost 1.43.0 has Boost Filesystem version 2.