[issue-425] Use WORDS_BIGENDIAN for DO_INVERSE

See #425.
CMake: minimize the amount of include directories

When the OCE source directory has a long path, building with MSVC fails
because the Windows command length limit is exceded by some modules.

This fixes the issue by setting include directories per-target, and not
adding include directories of dependencies if OCE_COPY_HEADERS_BUILD is
enabled. (only available when using cmake 2.8.8 or greater)
Improve travis build matrix

We want to:
 1. Build and run tests with gcc and clang
 2. Check that any combination of OCE_USE_PCH and OCE_COPY_HEADERS_BUILD builds fine

Always build with -j4.  Travis VMs are configured as 32 core machines,
but according to
  https://travis-ci.com/plans#faq
each build has at most 2 cores with 3GB of memory.  Sometimes builds failed
with -j32, they probably ran out of memory.
Let TOOLKIT target depends on copy_${TOOLKIT}_headers

This fixes random build failures when OCE_USE_PCH=ON and
OCE_COPY_HEADERS_BUILD=ON.

When using precompiled headers with gcc, header files must be
copied before generating precompiled headers.
Build with -j8 instead of -4

See discussion in #514.
Merge pull request #514 from tpaviot/review/travis-build-matrix

Improve travis build matrix
Merge pull request #509 from tpaviot/review/use-WORDS_BIGENDIAN

Use WORDS_BIGENDIAN for DO_INVERSE
Merge pull request #512 from peterl94/command_limit_fix

CMake: minimize the amount of include directories
[acc-warning-fix][assignment-operator-unchecked-source]

"operator= does not have a check for the source and destination
addresses being non-identical"
If the source and destination strings point to the same place, then this
will result in undefined behavior (delete[] the ptr and then memcpy()
from it).