Add llvm 5 1 fix + boost python

I've added boost python and fixed a problem with llvm 5.1 and boost atomic.

This should have been in two separate branches.