Dataset join

Add a join function for Dataset:

```ruby
a = {'a' => [1,2].to_vector, 'b' => [2,3].to_vector}.to_dataset
b = {'c' => [1,2].to_vector, 'd' => [5,6].to_vector}.to_dataset
c = {'a' => [1,2].to_vector, 'b' => [2,3].to_vector, 'd' => [5,6].to_vector}.to_dataset
p c == a.join(b,['a'],['c']) # => true
```