Refactor NeedsCallback to not use std::function

std::function was unnecessary since we could make the class
templated instead of just the constructor.
Drop C++ STL B_Allocator

There's no real need for the complexity a C++ STL allocator
if it's only used it one place.
Drop unused B_CONFIG macros
Ignore -Wconditional-uninitialized warnings

Instead of emitting -Wconditional-uninitialized diagnostics
as warnings, ignore them.  This removes 'make' diagnostic
spam.
Fix formatting

Blank line between top-level enums.