fix#793, close#1791, close#1793
This brings file_win32 in sync with the documentation.
Previously, the path passed to open worked if encoded in the system
codepage (which is almost never UTF-8).
Now, the path must be encoded as UTF-8, as stated in the
documentation.
Adapt file tests so that for file_win32 all paths include a unicorn
character.
* is_completion_handler is deprecated
* type_traits.hpp is a deprecated include
These items will be removed in the next version
* Include the new header file for the types needed:
- stream_traits.hpp
- file_base.hpp
* Use std::is_invocable instead of is_completion_handler
* Tidying
* Increase test coverage
* Fix file_mode::append_existing
API Changes:
* file_mode::append_new is removed, as it makes no sense
Actions Required:
* Replace file_mode::append_new with file_mode::append
or file_mode::append_existing instead of file_mode::append_new