Fixing improper block tags expansion

I considered using Emacs with emmet-mode to work with HTML yesterday, but after I tried to expand long nested div's abbreviation, I got a bit confused.

This abbreviation
```
.content>.row>.column.large-6`
```
expanded into
```html
<div class="content"><div class="row"><div class="column large-6">|</div></div></div>
```
while I expected it to be 
```html
<div class="content">
    <div class="row">
        <div class="column large-6">|</div>
    </div>
</div>
```
After some research, I found that this happens because `div` is, surprisingly, not a block tag by default. This has been done in order to resolve [issue #4](https://github.com/smihica/emmet-mode/issues/4). But IMHO it wasn't perfect solution.

I changed `emmet-make-html-tag` a bit, so now it breaks block tag in 2 lines only if tag contains inner HTML.
That means this
```
.abc
```
expands to this
```html
<div class="abc">|</div>
```
, this
```
div{Some text inside me!}
```
expands to this
```html
<div>|Some text inside me!</div>
```
while this
```
.a>.b>.c
```
expands to this
```html
<div class="a">
    <div class="b">
        <div class="c">|</div>
    </div>
</div>
```
which definitely makes sense.

Also I changed json2hash in more backwards-compatible way, because it was failing with parse error with my python 2.