improving nested options handling + misc
improving expression as option handling

- limiting expression match to prevent false positives from templates
- expanding replace to also strip one-time binding double colons (e.g.
{{::prop}} )
merging directives

- just one constructor for all matches
- replace allows attribute matches to contain templates without parse
errors
- directive(control) name is exposed in templating phase, no need for
getControlName()
Merge pull request #19 from damyanpetev/master

improving nested options handling + misc