Fix exception message and add a bit of module support

* Fixed exception message when an invalid filter is passed.
* Updated compiler to be able to use a module source directory
* Added compile-directory to pass in a directory
  * Currently requires a path that contains "src/"