Initial C++ implementation

Basic C++ build infrastructure and library functionality.  Several other PRs will follow this to add the missing functionality.

The C++ implementation lives in the top-level `cpp` directory:
- `cmake` build infrastructure (`CMakeLists.txt` and `cmake/*.cmake`)
- portability headers in `cpp/lib/ome/compat`
- xerces wrappers in `cpp/lib/ome/xerces` \[shared library and headers\]
- ome-xml static sources in `cpp/lib/ome/xml` \[shared library and headers\] (currently primitives and base enumeration types only)
- tests in `cpp/test`

To test: 
```
mkdir build
cd build
cmake /path/to/bioformats/cpp
make
make test
make DESTDIR=/path/to/installdir install
```
You will need Google Test (gtest) for testing; Set `GTEST_ROOT` to find the libraries.  See `tools/test-build` for an example (Debian/Ubuntu); this also builds gtest at the same time.  On MacOSX, it's available via homebrew, or just build a copy for yourself.  Note that tests are automatically disabled if gtest is unavailable, and may be disabled with -Dtest=OFF or enabled with -Dtest=ON when running cmake.

The Travis build will build the C++ code and run the tests.