Finished FreeBSD implementation and added OpenBSD

- Modified Apple.cpp to fix a missing function
- Finished FreeBSD implementation (though I am unsure whether the memory calculations are correct)
- Added OpenBSD file to hopefully make a port eventually
- Modified how CMake compiles for the new file structure