PSO works.
Huge changes (first commit for a while =/)

Add in the nelder mead optimizer. This is basically defunct, though its usage
is commented out in swarm.cpp; look there to learn how to use it.
Add in the R-Tree. Should look at cleaning this code up a bit, but does a
pretty good job of the whole bounding rectangle thing.
Update stuff to be more c++11 (constexpr), as well as use the R-Tree.
Rewrite for templated function type, parallel swarm execution and addition of a MPMC queue designed for the BFGS updates.
Make it BUILD!
Directory structure, plus add in a matrix and vector class. The vector class is basically a set of added operators to std::vector. Maybe need to rework Matrix<>.
Add in BFGS + the associated inexact quadratic linesearch
Clean up dead code
Prune dead code.
Really hacky attempt at compiled header files for ALL THE SPEEDS. compile speeds, anyway, since I don't expect to have to change some of these
PCH this too, since this won't change either.
Begin the process of re-adding the RTree. Oh wow this is so fucked.
-Wextra and fix some associated errors, don't remove .pch files, change the termination conditions of the swarm to be inside the swarm (rather than somewhere else) to have a proper "death" criteria. Swarm now terminates when more than half of the population are 'near' the centre, or when it hits 100 same values.

Use this change to implement the BFGS. It now bosses the Rosenbrock function
Do some code cleanup. Add in a case that BFGS seems to fail optimising (no idea why).
Derp
Do some cleanup of dead code, make some things nicer and make eye() default to the identity matrix rather than something else.
Update the test example to make sure it compiles, and throw in a what-is-hopefully a std::move
Modify the BFGS code. If things break, **REVERT THIS COMMIT**
BFGS ALL THE THINGS. Also attempt to numerically diff. Fail miserably
Option parsing and then bounds.
Add in OpenMPI to command line and attempt to add it into code. Should just partition all the things, but I need to make sure these algorithms use them...