Improve autoindent

The code that handle indent between paren has been completely rewritten. It is a lot more easier to understand and produces better resutls, for example it does not require the parentheses to be closed anymore. It also handle breaking string properly, it now inserts the correct symbol (single or double quote)