Add a failing test to illustrate a problem with semicolon insertion.

Currently recast is not inserting a semicolon at the end of lines ending in `}`, which usually happens because of a function/class declaration or a block statement. However, it can also happen when the last declarator of a variable declaration is an object expression. In this case it is very important that there be a semicolon as the next line may begin with a parenthesis. Without the semicolon the JS engine will interpret `{}(` as a function call with the object expression as the callee, resulting in a runtime exception.
Merge pull request #77 from eventualbuddha/variable-declaration-with-object-expr-followed-by-iffe-broken

Add a failing test to illustrate a problem with semicolon insertion.