Extend Log interface for setting namespaces

Signed-off-by: Chris Mueller <christoph.mueller@dfki.de>
Add missing pragmas.
A learner must be optimizable.
Add finite differences approximation for input gradients.
Add some working tests.
More input gradient tests.
Use namespace instead of class.
refactor python bindings for openann.
Document finite differences.
Add cmake variable for number of cores.
Remove unnecessary casts.
Separate dropout from other layers.
Add test case for dropout.
Fix bug.
Dropout layer keeps dimension of previous layer.
Update documentation.
More efficient scaling.
Add LMA test case.
Initialize network automatically.
Remove duplicate initializations and set error function in convenience function.