Relaxation piping

Added a potentiostat and piping of several ChargeRelaxation objects for
automatic sequential relaxation using several algorithms.

Also additions in documentation.
Expansion of symbols list from a string

Added a utility function for expanding a string of chemical symbols to
a list format.
Neighbor list access functionality

Added methods for directly accessing the lists of neighbors, neighbor
distances etc. used by the core.
Optimization algorithm for charge relaxation

Implemented a charge optimization algorithm using a SciPy function.
Bug fix in new charge optimization algorithm

The charge optimization algorithm needs to call get_potential_energy
when searching for the energy minimum. However, if the calculator
contains a reference to the ChargeRelaxation, this would autoatically
call charge_relaxation again, leading to an infinite loop. This is
fixed by introducing the option to skip charge relaxation when calling
energy evaluation.

Also fixed some ASE 3.6-3.7 incompatibilities that had been missed
previously.
ProductPotential bug fix

Fixed a potential error source in product potentials due to components
with zero energy.
Bond order bug fix

Fixed a bug which would ignore bond order terms arising from seeing
images of the same particle in the three-body term in a small periodic
system.
Bond order efficiency fix

Instead of operating on n_atoms size arrays of gradients, forces due to
bond order gradients are now calculated and stored directly when
gradients are evaluated.
Bug fix in new bond order factors

Fixed a bug where Tersoff factors would get mixed with per-atom
many-body factors.
Pair bond order fix

Wrong parameters were passed for the pair bond order factor.
Manybody efficiency improvement

Interaction loop now tracks manybody interactions when first found so
that not all potentials need to be rechecked when looping over triplets.
Bond order bug fix

Fixed mishandling of bond order scaling if several were in use.
Severe bug fix in neighbor listing

Fixed multiple neighbor entries for edge atoms in partially periodic
systems.
Merge branch 'develop' into optimization
Documentation update

Small doc updates.
Doc update

Small doc update, merging optimization branch
Merge branch 'develop'