Omission included when truncating by break_token.

This solves the issue #52  

I just moved a little bit the logic to stop the truncation by break_token.

Instead of doing it on the truncate method (where it would not include the omission), I did it where the pipeline process occurs, if the token is the break token it will automatically put the chars_remaining at 0, and includes the omission if it happened.

I did it in a way that if the break token is a tag, it will include the omission anyway. If the tag is an opening tag, it will not include the tag, if it is a closing tag, it will include it via the close_open_tags method. (I guess that we don't want to leave any tag open in the string).

Doing it like this, we make sure that the truncation plus the omission will always be shorter or equal than the length param.

I included the proper test for this case.
You haven't specified an omission here. You've already tested that the default omission of `...` works with all the other tests. You should probably do something like:
```ruby
truncate('This is the time to truncate this. Do it properly!', :length => 50, :break_token => 'truncate', :omission => link_to(' MORE', 'path')).should == 'This is the time to <a href="path">MORE</a>'
```