Fix some incompatibilities with newer versions of boost
Fix for lua includes
Use std::shared_ptr instead of boost::shared_ptr