Update spintax to allow empty spin variations

Best explained by examples.  The following are now all valid spintax, and will unspin correctly:
```ruby
"{hard pattern to match|}".unspin  # => "hard pattern to match" or ""
"{something or||nothing}".unspin   # => "something or" or "" or "nothing"
"{|I love spintax!}".unspin        # => "" or "I love spintax!"
```
Thanks to @alexnesbitt for bringing this up in issue #1.

In addition, `SyntaxError`'s are now rescued when trying to count variations in improperly formatted spintax, and will instead return `nil`:
```ruby
'one {two|three} four'.count_spintax_variations   # => 2
"{Can't|count|this one".count_spintax_variations  # => nil
```