C++: binary build and showinf fixes

- Clean up use of namespaces and includes
- Add copyright/licence boilerplate

Note use this diff: https://github.com/openmicroscopy/bioformats/pull/1468/files?w=1 to filter out the whitespace changes.

-------

Testing:

- build should be green (will fail if includes and namespaces are incorrect)
- showinf should continue to work (run `./bf cpp/bin/showinf/showinf --help` to verify)
It was all written this year.  The copyright headers were copied from the java code.  For some files it's a direct derivation/conversion of the java code.  It doesn't apply here.  This is something which might need a cleanup across all the code in the future, but not something that's a priority just now.