Rename css|js _folder to _dir

Dir is what Ruby uses to refer to directories.
Allow js_dir, css_dir, and path to be empty

Previously, these couldn't be empty, or otherwise you would end
up with // in some paths, which aren't good during routing at
least.  This way, if users want to mix their scss and coffee files
in the same directory, they can.
Add :compiled_(js|css)_dir options

These can be used if you want to use different directories to
store the compiled files than you use to store the source file.

While here, precompute paths that are used later so that
less computation happens at runtime.