Add two new arguments to p4est_wrap_ext.

Added a p4est_replace_t and a user_pointer argument to the constructor.
The replace function has also been added to p4est_wrap_t and called
in p4est_wrap_adapt during refining, coarsening and balancing.
moved p4est_wrap_new_ext to p4est_wrap.h so we can avoid the circular dependancy caused by having a p4est_replace_t member in p4est_wrap_t
Merge 'alex/wrap' into wrap
Add to wrap documentation
Fix warnings