Puts context's data in a stacked-dicts structure.

Now inner context's data does not overwrite upper levels, but inner level can
inspect (but not alter) upper levels.
Regains pypy testability: annotation by signature should not be tested on PyPy.
Documents the newly stacked context's data.
Makes the :attr:`xoutil.context.Context.data` an "open stacked dict"
Completes the implementation of the opendict for context's data: Now you can assign the data.
Fixes stackeddict so that it has a get method
Adds a always empty `data` attribute for NullContext
New flextime class, only to allow quick shell-based calculations with times