Numerous updates

- moved strategies to their own directory
- created plugin directory with basic loading plugins
- moved locating/loading code from the script to the plugins
- added string::starts/endsWith
- added warning that no dependency checking is performed with
optimize/optimize_file/optimize_source
-