Use text from saved pages only if needed

It's critical that the text that the entities are extracted from
match what is stored on the pages and be in the proper order.

Otherwise the offsets for the entities are calculated incorrectly.
mb_chars is not needed with Ruby >= 1.9
Prefer map over unnecessary each_with_index.

The index wasn't needed since was only used to insert into rdfs in order.
Increment offsets even if chunk from Calias is nil

If Calias can't generate entities from a given chunk of text,
the offset still needs to be incremented so the entity can later
be located in the text.

fixes #107