Make sure __BIGGEST_ALIGNMENT__ exists

Not all compilers set this macro.  For example clang does not set this
value.
Add macro for max number of arguments

This macro will be used in the C interface to know how many arguments
can be passed into a kernel.
Add a enqueue kernel function

This function will be used from the C interface to enqueue kernels.
Make back-end compiler and flags configurable

This change makes the hard coded compiler and flags configurable at
build time.  This allows a different compiler and flags to be specified
for CUDA and CPU back-ends.  We only allow for changing compiler flags
in OpenCL.
Add cuda library to link line on OS X

This allows the code to be built on OS X when cuda is enabled (and
installed in the default place).
Remove nonexistent directory

This change prevents a warning from make when compiling the fdtd demo.
Add return statements for non-void functions

Here we quite the compiler warnings by adding return statements to
non-void functions.
Add names to CUDA errors

This just outputs the name for the CUDA error that is encountered.
Make OpenMP optional

This allows the CPU back-end to work on systems that don't have
OpenMP installed.  The code just needs to be compiled with the
`OCCA_DO_NOT_USE_OPENMP` macro defined.
Allow include files from variables

This allows the macros defining the device API to be determined at
compile time.  Then an application does not need to have
`occaCPUdefines.hpp` and friend in its path at runtime.

This change was made to be backwards compatible with the current setup.
Add the C and Fortran interfaces to OCCA

The C and Fortran interfaces can be compiled using CMake.  At this time
there is not a `makefile` for building these interfaces.

We also include a simple example to demonstrate the interfaces.
Remove use of depreciated AbsoluteToNanoseconds

We have replaced the function AbsoluteToNanoseconds where it was used
because this has been depreciated in newer versions of Mac OS X.
Add CMake build file for the fd2d example
Merge pull request #2 from lcw/occa-forc

OCCA C and Fortran Bindings
Added experimental occa branch (new API and stuff)
Fixed OpenMPKernelDefines and hash length