CompileDir implementation, tests, and docs

Including a CompileDir function makes it a lot easier for users to cache their templates to be accessed when needed in handlers. Detailed documentation in README.

Added this function to compiler.go, with a new DirOptions struct to specify what extensions to match and whether or not the search should be recursive.

Added tests to amber_test.go, and files in samples/ for testing.