Making PPMPF_DREF more expansion - friendly.
Added PPMPF_APPLY(f,...) function macro.
Implementing arbitrary macro function composition over a preprocessor token.

PPMPF_COMPOSE(x,fseq) is used to compose a series of functions written as a
ppmpf sequence on a single, parenthesis enclosed preprocessor token. This is
achieved using a right fold.
Providing a balanced parentheses enclosure function macro.
Assistive macro for tuple to sequence conversion.
Converting ppmpf tuples to sequences, initial ppmpf refactoring.

Given a ppmpf tuple of the form (a,b,c,d,e,f,...), using the PPMPF_TUP2SEQ we
perform the conversion to the equivalent (a)(b)(c)(d)(e)(f)... ppmpf sequence.

Functions related to specific operations that can be logically bundled into
distinct units, will be having their own directory within the ppmpf root, this
is a guideline for refactoring the layout of the ppmpf codebase.
Providing a macro for joining two ppmpf tuples.
Implementing PPMPF_TUP_ATPOS, PPMPF_TUP_SPLIT using the PPMPF_COMPOSE macro.

Several changes have been made that take advantage of preprocessor function
macro composition using PPMPF_COMPOSE.

PPMPF_DPAR is going to substitute PPMPF_DREF gradually while the latter goes
gradually into internal use mode.

Given a ppmpf tuple with N items and K an index ppmpf number such that K < N,
we can get two ppmpf tuples representing the ranges [0,K) and [K,N) using the
PPMPF_TUP_SPLIT function macro. PPMPF_TUP_SPLIT is then implemented using
function macro composition through PPMPF_COMPOSE. Then composition is used
again to rewrite the implementation of the PPMPF_TUP_ATPOS function macro.

All the ppmpf tuple functionality is now accessible through a single header
due to the ongoing refactoring of ppmpf itself (i.e. <odreex/ppmpf/tuple.hh>).