Initial files of os library
Beginnings of pipe implementation
Initial implementation of low-level POSIX I/O
Initial workings of expected<T, E>

Where E is the error type.
If E is void, which is the default, then it behaves the same as
expected<T>.
Finished implementing non-error constructors for expected<T,E>
Implemented Error handling system for expected<T,E>
Implemented copy and move constructors for Expected<T,E>
Error getters for Expected<T,E>
Removed some unecessary includes.
Added object writing and reading plus more unit tests
Cleaned up unit tests
Added some comments to I/O classes.
Fixed pipe implementation + added a few comments
Added a little type_list library.
Added a is_executable type_trait and unit test for cmd
Added support for commands (a type of executable)
Update for Expected to make it compile on clang.
Moved implementation details to implementation namespace
Fixed: Argument arrays are not terminated with nullptr

Also make the pointers const.
Beginnings of cmd::execute