Fix add_test() to work with cmake 2.6

This patch makes the usage of add_test() in tests/CMakeLists.txt
backwards compatible with cmake 2.6.  Of note, we have to ensure
the current working directory is CMAKE_BINARY_DIR before running
the cram test cases.  We can do this within add_test() with prefix
command to ccram.
Fix strict aliasing breakage in hash functions

For now, we're getting around the problem using GCC's `__may_alias__`
attribute, which turns off strict aliasing checks (and optimizations)
for a single type.  We might eventually need to find a more robust
solution.
Fix tests/ccram to use POSIX string equality operator

This patch updates tests/ccram to compare strings using `=`, which is
POSIX sh compliant.
Merge branch 'feature/posix-sh' into c-template

* feature/posix-sh:
  Fix tests/ccram to use POSIX string equality operator
Merge remote-tracking branch 'template/c-template' into develop

* template/c-template:
  Fix tests/ccram to use POSIX string equality operator
  Fix add_test() to work with cmake 2.6