cpp: test: Only test multi_array assertions for release builds

Strict bounds checks are only compiled in when NDEBUG is not
defined.
Merge pull request #1373 from rleigh-dundee/cpp-test-release

cpp: test: Only test multi_array assertions for release builds
Merge pull request #1374 from rleigh-dundee/cpp-fixes

C++: Collected small fixes
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.