Added test for PPMPF_TUP_ATPOS, fixed its ISO C99 strictness

PPMPF_TUP_ATPOS had a marginal case of C99 preprocessor incompliance due to
it implying that empty tokens where handled explicitly by an invoking macro
making it not pass -pedantic at times; this commit handles this as well as
adding a dedicated test.
Added PPMPF_EXCISE for removing "typing" of  ppmpf "typed" constructs.

Using high order functions like PPMPF_MAP which employ "typing" infornation
related to whether we deal with ppmpf sequences / tuples etc, this removes
all information like PPMPF_DATAOF while applying PPMPF_DREF to the result.
This means that the result of such an operation is never enclosed in
balanced parentheses.
The clause::ample::ensure template ensures control over instantiations.

A class template ensuring that when an inexistant oprt metahandler is
deployed, instantiation results to 'failure<...>'. This template can
be used a a sfinae-driven proxy for 'Ensured_T' when a nested template
class is required to be instantiated from it, but 'Ensured_T' does
not provide it. When the requested oprt_* template exists, it is
instantiated normally. This behaviour makes it possible to control
the instantiation stack in case of an error, while also allowins us
full control of the error reporting mechanism during instantiations.
This is due to pattern matching against 'failure<...>' becoming
possible. All clause::ample algorithms are to be deploying this kind
of instantiation by the 'ensure' class template proxy. This template
is also making extensive use of ppmpf preprocessor driven code
generation for sequences of identifiers, each of them to be used
for generating distinct class, function templates and related aliases
whether in this header or in its respective test suite. See the file
tests/ample/ensure.cc in the tests folder.

A practical example:

template<typename T, typename... X>
using some_push_back
    = typename ensure<T>::template oprt_push_back<X...>;

If oprt_push_back is not a nested class template of T, failure<T> will
be the guaranteed instantiation result.
Splitted tests/ppmpf/tup_zipwith.cc into two files.

Some test files are just too big, like this one; better slim them down.