Rewrote #prime? to be much faster.

This new version executes an order of magnitude faster.

    require 'benchmark'
    require 'prime'

    def prime?(n)
      return true if n == 2
      return false if n % 2 == 0 || n < 2
      (3..(n**0.5).floor).step(2) { |i|
        return false if n % i == 0
      }
      true
    end

    # Current Method
    puts Benchmark.measure {
      (1..1_000_000).each { |i| i.prime? }
    }

    # Improved
    puts Benchmark.measure {
      # Current Method
      (1..1_000_000).each { |i| prime?(i) }
    }

    # Current Method
    puts Benchmark.measure {
      1000.times {
        (1..1_000).each { |i| i.prime? }
      }
    }

    # Improved
    puts Benchmark.measure {
      1000.times {
        (1..1_000).each { |i| prime?(i) }
      }
    }




I saw here and, I was running benchmark mixing Fixnum with Bignum, 
so I changed the benchmark
```ruby
require 'benchmark'

REPEAT = 100_000_000
Benchmark.benchmark do |x|
  x.report("Fixnum %    ") { REPEAT.times { 42 % 2 == 0 } }
  x.report("Fixnum even?") { REPEAT.times { 42.even? } }
  x.report("Bignum %    ") { REPEAT.times { 42000000000000000000 % 2 == 0 } }
  x.report("Bignum even?") { REPEAT.times { 42000000000000000000.even? } }
end
```
and the result was:
```bash
Fixnum %        11.220000   0.000000  11.220000 ( 11.227426)
Fixnum even? 10.060000   0.000000  10.060000 ( 10.063508)
Bignum %        29.580000   0.000000  29.580000 ( 29.605337)
Bignum even? 10.230000   0.000000  10.230000 ( 10.238278)
```
`%` and `even?` are really similar for `Fixnum` but is faster for Bignum

I tested `Bignum` with fruit gem (btw coll gem @marcandre, I didn't know)
```ruby
require 'fruity'
compare do
  big_modulo { 42_000000000000000000 % 2 == 0 }
  big_even   { 42_000000000000000000.even? }
end
```
`# => big_even is faster than big_modulo by 7x ± 1.0`
I performed in 2.1.3 and 2.2.0-preview1