Merge branch 'devel'

- Added smart pointers for resource handling
- Some clean up in headers for better visibility
- Removed optional move and copy constructors