llvm-c: use typedef for function pointers
llvm-c: Make LLVMGetFirstTarget a proper prototype
llvm-c: Make target initializer functions external functions in lib.

Making them proper functions defined in the (shared)lib instead of
static inlines defined in the header files makes it possible to
actually distribute a binary compiled against the shared library
without having to worry about getting undefined symbol errors when
calling e.g LLVMInitializeAllTargetInfos because the shared library on
the other system was compiled with different targets.
llvm-c: Add LLVMGetPointerToFunction
llvm-c: Fix name of LLVMAddDemoteRegisterToMemoryPass function.

It has the name reversed (LLVMAddDemoteMemoryToRegisterPass).

The ocaml bindings still have it reversed: llvm_add_memory_to_register_demotion.
Add makefile in bindings/python (not hooked up with toplevel yet)
[python] Switch to (pre-)generated ctypes interface definitions.

This consists of a few parts.

* generate-from-includes.py which uses the clang cindex python
  bindings to generate definitions of the functions in the LLVM-c api
  as python data structures.

* The pregenerated files. These are included so clang cindex python
  bindings are not required for building this - they are just needed
  when regenerating because of changes in the llvm-c api.

* A wrapper object over the CDLL ctypes instance, which looks up the
  definition in the generated interface definition and informs ctypes
  about it the first time a function is called.

* c_name and c_enum decorators to register the names found in the
  generated interface definition (which got it from the c headers)
  with the correct python class.
Hook up python bindings in sphinx documentation
[python] Make core.py a subpackage
[python] Move MemoryBuffer to own module
[python] Move disposer to a __dispose__ method

This will make life easier when classes that
has more complex initialiazation are added.
[python] Add context module
[python] Allow creating memorybuffer from contents
Add unaliasing
add basic module support
init disasm
core.type
core.value
some import and doc fixes
[python] Add irbuilder