CMake: robust version extraction for P4Est

Make the version extraction in P4Est more robust: We should not rely on
the version string to define SUBMINOR and PATCH - this doesn't have to
be the case. So, always set P4EST_VERSION_SUBMINOR and
P4EST_VERSION_PATCH to "0" in FindP4EST.cmake if no valid number could
be extracted.
Introduce the concept of containers-of-cells and link to it in various places.
Add some description of when the last two IFs can happen in version
number recognition.
Merge pull request #17 from bangerth/fix_p4est_configuration

Fix p4est configuration
Merge pull request #13 from bangerth/doc-fixes

The previous version of the documentation basically stated why the function exists, not what it does. This is the focus of the new version. I also indented the arguments of this function and the (related) following one.
Merge pull request #15 from bangerth/doc-fixes-2

Introduce the concept of containers-of-cells and link to it in various places.
Convert old changelog files from straight up .html to .h files that will be parsed by doxygen.

This will make all changelog files behave the same way.
Merge pull request #21 from bangerth/convert-changelogs

Integrate old changelog files into doxygen

Convert old changelog files from straight up .html to .h files that
will be parsed by doxygen. This will make all changelog files behave
the same way.
Remove a file forgotten when converting the changelogs.
Fix doxygen formatting.

Some of the member functions in smartpointer.h did not have documentation according to a format that doxygen would pick up.
Restructure documentation.

Put all member functions into one of the doxygen sections. Split
sections so that they make more sense.
Merge pull request #23 from bangerth/fix-changelogs

Remove a file forgotten when converting the changelogs.

This file should have been removed in yesterday's conversion of the
changelogs from html to doxygen format, but I forgot to delete it. This PR
fixes the oversight.
Merge pull request #24 from bangerth/doc-fixes

Fix doxygen formatting.

Some of the member functions in smartpointer.h did not have documentation
according to a format that doxygen would pick up.
Merge pull request #25 from bangerth/doc-fixes-vector

Restructure documentation.

Put all member functions into one of the doxygen sections. Split
sections so that they make more sense.
Add missing includes to step-17 and step-18

This commit fixes up a regression introduced with commit
  06a70bad3cbbcbb6abc51e12f29e3b5dfffb928a
that removed unnecessary includes of base/multithread_info.h. Both steps
need them for multithread_info.n_threads()
Merge pull request #26 from tamiko/fix_includes_in_steps

Matthias: This commit fixes up a regression introduced with commit
06a70ba
that removed unnecessary includes of base/multithread_info.h. Both steps
need them for multithread_info.n_threads()
Switched README to md format.

Implemented Matthias' suggestions.
Merge pull request #20 from luca-heltai/pr_switch_to_markdown

Switched README to md format.

Changed the README in such a way that a markdown syntax parser
recognizes code blocks, links and title. Moved it to README.md
Fix installation.

Well, it seems we forgot to update doc/CMakeLists.txt to install the new
README.md file...
Merge pull request #28 from tamiko/fix_installation

Fix installation.