This patch cleans up the include guards, assisted by the tool/fix_include_ifndef script.
Fixes #1432
This patch changes the Shared_object::lookup function to use a reinterpret_cast instead of a static_cast to allow the conversion from symbol addresses to arbitrary pointers.
Issue #1280