Fix binary strings in miqsqlite3 and move manual tests to automated CI specs

3 main issues:

1) 1.9.3 incompatibility:

Ruby 1.8.7:

```
irb(main):104:0> "a"[0]
=> 97
```

Need to use String#ord on 1.9.3+:

```
irb(main):058:0> "a"[0]
=> "a"
irb(main):059:0> "a"[0].ord
=> 97
```

2) Binary string literals in ruby scripts will be UTF-8 in Ruby 2.0+.

Ruby 2.0 will read these a UTF-8 without a magic comment on top.

By forcing US-ASCII on the script, the binary string literals are then
ASCII-8BIT which we can then access byte by byte.

More #589

Fixes test failing with invalid byte sequence like this:

```
irb(main):01:0> "\xac".force_encoding("UTF-8")[0].ord
ArgumentError: invalid byte sequence in UTF-8
```

We want to do this instead:
```
irb(main):02:0> "\xac".force_encoding("ASCII-8BIT")[0].ord
=> 172
```

3) Manual tests aren't being run in CI.
Could we also just do (if ordering is not really important):

```ruby
expect(db.table_names).to match_array(expected)
```