math: Have FLANN header hidden behind a source file

FLANN throws a lot of warnings. Most are innocent, like the ones about
OpenMP. However they're extremely distracting and stop us from seeing
our own errors.

This change also makes it so we no longer need to compile with the
FLANN header or provide our own linkings to libFLANN because it is
included as a link dependency for libvwMath. So wins!