Fix source map concatenation
Fix source map concatenation

The calculation of length of asset is done by counting semicolons, however not all mappings end with a semicolon. When they do we must increment the offset.

The next part is harder to explain. 

We concatenate two assets A.js and B.js. A has 10 lines B has 5 lines.

After we’ve done this we want an offset that looks like this:

```
A.js: {"line"=>0, "column"=>0}
B.js: {"line"=>11, "column"=>0}
```

To get 11 we take the prior length of mappings for A.js which is 10 (from the lines) and increment by one to get to 11.

Now we add another asset C.js which has 2 lines. We want an offset that looks like this

```
A.js: {"line"=>0, "column"=>0}
B.js: {"line"=>11, "column"=>0}
C.js: {"line"=>16, "column"=>0}
```

If we add the last offset which is 11, to the length of the asset of B (which is 5) then we get the correct offset which is 16. We do not have to add an extra +1. 

I think this was accidentally working previously based on unwanted behavior from adding semi-colons and newlines.


recursecenter/sprockets,rails/sprockets,eileencodes/sprockets