OCCA C and Fortran Bindings

Included are the changes needed for the C and Fortran interface to OCCA.  There are also a few changes to clean up compiler warnings.  All changes were designed with backwards compatibility in mind.  The CMake build system is optional for the C++ interface (i.e., the old make build system should still work) but required for the C and Fortran interfaces.