Fix bug with gears::functional::invoke(...)

Also fixed an issue with running executables on Windows on the
project file.
Moved all return types from trailing return type to a template
parameter. Also made it so noexcept is accounted for.
Fix some compiler warnings.
Fix typo to show intent a little better in gears::string::all