This commit (obviously non-atomic) cleans LIEF's code base by:
- Using pointer semantics (`std::unique_ptr<>`)
- Using LEAF boost error in the binary stream
- Reducing the scope of the iterators (`it_section`, ...)
- Removing `Structures.hpp` from the public headers
- etc
Among the changes:
- It removes the ``and, or, not`` keywords
- It updates the Documentation
- It moves the internal structures in the ``details::`` namespace