clean up cython lbfgs optimizer

by declaring events (cpdef) we can attach it to the c++ (cdef) class.
Then we don't need to separate to functionality into python plus c++ and pure
c++
update modified fire and gradient optimizer

they are both simplified now that events is part of the unified
framework
lbfgs now derives from the cdef gradient optimizer
add H0 back in to the LBFGS result object
Merge branch 'master' into base_optimizer
add LJCutPeriodic c++ potential

This is necessary for BLJCutPeriodic
example demonstrating import of aladipeptide optim database into PELE
Merge pull request #30 from js850/base_optimizer

LBFGS uses the optimizer base class
Merge branch 'master' of github.com:pele-python/pele
lbfgs_cpp now accepts keyword logger

It ignores it, but at least it doesn't crash if it's passed
Merge branch 'master' of https://github.com/pele-python/pele into periodic2D
adapted LJCutPeriodicAtomList to new distances