add ValidateContext method
add context checks
add stack for simple middleware apps with one top level context
improve contexts to adhere to the new middleware context creation rules