Some C++14 readiness fixes.

Switched min/max to their future constexpr signatures.

Fixed some cases where constexpr had implied const on a member
function.
A NonNull pointer type annotation template.
An adaptation of Alexandrescu's ScopeGuard concept.

This is aimed to make RAII more convenient.
type_traits: add Invoke, ConditionalT.
integer_sequence: compile time integer sequences.