stores CongReg modifications in unsigned[]

this apparently makes life easier for clang, and if the compiler *can't*
figure out how to resolve a ConfReg commit, we're doing something wrong
anyway.
add dma configuration abstraction

and go for c++1y while at it, since that makes auto return types *so*
much more useful