support ruby 1.8.x

based on #508, WIP
The formatting here is odd and Rubocop likely won’t agree with it. I propose this:

```ruby
if Gem.ruby_version >= Gem::Version.new('1.9.3')
  task :test => [:'test:all', :rubocop]
else
  task :test => [:'test:all']
end
```