r600: Initial support

This includes a get_global_id() implementation and function stubs for
the other workitem and synchronization functions.
r600: Fix get_global_id implementation
r600: Add get_global_size() implementation
Move R600 headers into generic directory
PTX: move implementations of work-item and synchronisation functions
to lib, and add header files in generic.  Incorporates a patch by
Tom Stellard!
R600: Replace cl implementations with LLVM IR implementation

This allows libclc to be built for R600 with upstream clang and LLVM.
Make libclc more Linux FHS conform.

- First introducing a versioning scheme
- Add --libexecdir, --includedir and --pkgconfigdir and prefill them as well as --prefix
- Build all targets by default
- Create clc.pc and install it in $pkgconfigdir
- Use clang++ instead of c++
- Rename builtins.bc to built_libs/$triple.bc and install them in $libexecdir
- Includes are installed recursively to $includedir
- Finally add $(DESTDIR) for 'make install'

Patch by: Johannes Obermayr
Allow targets to override generic implementations

Targets can override generic implementations by adding a file called
OVERRIDES in $(TARGET_DIR)/lib and listing the generic implementations
that it wants to override.  For example, to override get_group_id() and
get_global_size() you would add these lines to the OVERRIDES file:

workitem/get_group_id.cl
workitem/get_global_size.cl
r600: Add overrides file
Fix typo in include/clc/geometric/length.inc
Use brackets around include files in length.cl and normalize.cl

These functions were not being compiled
Remove the static keyword from the _CLC_INLINE macro

static functions are not allowed in OpenCL C
Implement fmax() and fmin() builtins
Implement ceil() builtin
Fix build with LLVM 3.3

Patch by: Niels Ole Salscheider
configure: fix out-of-source build

Patch by: Niels Ole Salscheider
configure: Enable building separate libraries for target variants
libclc: Add max() builtin function

Adds this function for both int and floating data types.

Patch by: Aaron Watry
libclc: Fix abs_diff builtin integer function

Patch by: Aaron Watry
libclc: Add clamp() builtin for integer/floating point

Created under a new shared/ directory for functions which are available for
both integer and floating point types.

Patch by: Aaron Watry