doc: cpp: Document required packages
doc: cpp: Expand cmake instructions
docs: cpp: Update conversion notes from slides

Update from slides, and move some content to the installation
instructions.  Also add SFINAE description.
docs: cpp: Spelling and punctuation corrections
docs: cpp: Additional corrections
docs: cpp: Correct indentation
docs: cpp: Correct SFINAE example
Merge pull request #1375 from rleigh-dundee/cpp-docs-updates

C++: Documentation updates