Fix crashes when source files are empty.

Fixes issue #33.
Ditto to the `gcov_data` before.

Also, this slipped by me earlier -- it's common Ruby style to use
```ruby
 do...
end
```

for multi-line closures, and 

```ruby
{...}
```

for one line closures only.