string interpolation and attribute parsing

made string interpolation parsing robust. fixed attribute parsing so it can handle complex bracket expressions and comply with single line HAML syntax

Added tests for the new syntax parsing capabilities, they pass.

I realize that changing the syntax for string interpolation is technically a breaking change but consider this:

1) The test was failing for it in the latest version anyway and it's clear that the parse rules for detecting complex interpolations without a more clear tail delimiter were going to be complicated.
2) It's tiny change that can easily be adapted with a quick project-wide find and replace across your template files.