Extension detection

I needed to compile Haml files into html files with an `.php` extension using Guard and noticed that `.html` is currently hard coded while the Haml CLI tool allows any output format.

So I've added an extension detection which tries to define a “logical” extension — here are some examples on how it works:

```
"foo.haml"     -> "foo.html"
"foo"          -> "foo.html"
"foo.txt"      -> "foo.txt.html"
"foo.php.haml" -> "foo.php"
```

However, I’m not sure if this feature (in it’s current implementation) is useful for anyone else but me.