Remove unused LLVMBasicBlock class
Move Function/BasicBlock to core and clean up includes Function and BasicBlock are considered part od the Data Model and part of the core. Move them there. Also remove lots of #include from the headers and replace them by forward declarations. This should make compilation units smaller and remove the huge number of users for each header -- speeding up compilation and making users explicitely include stuff they use.
Make LLVMDisassembler a template class
Fill BasicBlockWidgets with actual assembly instructions
Recursive disassembler Disassemblers properly recursive. Doesn't yet really build the neccessary data structure. Also doesn't handle jump targets in the middle of preexisting basic blocks properly.