A quick hack for minimal AQL support

First of all:

![uvj9hf7](https://cloud.githubusercontent.com/assets/1948/2917244/9dc7bbaa-d6c3-11e3-9525-a20c743d6df5.gif)

While discussing the totally awesome [Brazil project](https://github.com/moonglum/brazil/issues/8) we discovered that we maybe need AQL support a lot sooner that initially thought. This is a hack to try what can be done with a minimal effort.

~~Please never merge this into anything ever!~~

Anyhow… With this change you can perform the following:

Imagine you have the following ponies:

```ruby
ponies = [
  pinkie     = Pony.new(name: "Pinkie Pie", color: "pink", type: ["Earthpony"]),
  applejack  = Pony.new(name: "Applejack", color: "green", type: ["Earthpony"]),
  fluttershy = Pony.new(name: "Fluttershy", color: "yellow", type: ["Pegasuspony"]),
  dash       = Pony.new(name: "Rainbow Dash", color: "blue", type: ["Pegasuspony"]),
  rarity     = Pony.new(name: "Rarity", color: "white", type: ["Unicornpony"]),
  twighlight = Pony.new(name: "Twighlight Sparkle", color: "purple", type: ["Unicornpony", "Pegasuspony"])
]

ponies.each { |p| PoniesCollection.save p }
```

And you want to find all the pegasus ponies:

```ruby
PoniesCollection.by_aql("FILTER POSITION(pony.type, @pony_type, false) == true", {pony_type: "Pegasuspony"}).map(&:name)
# => ["Fluttershy", "Twighlight Sparkle", "Rainbow Dash"]
```

The AQL behind this would be:

```
FOR pony IN ponies FILTER POSITION(pony.type, @pony_type, false) == true RETURN pony
```

Or just find by a name:

```ruby
PoniesCollection.by_aql("FILTER pony.name == @name", {name: "Applejack"}).first.name
# => "Applejack"
```

The AQL behind this would be:

```
FOR pony IN ponies FILTER pony.name == @name RETURN pony
```

Basically you could do just everything that can be between `FOR` and `RETURN`. The development effort will be quite simple. We will have some protection with the bind parameters and providing much more flexibility to the user then before.

Additionally you can add your own `RETURN` part:

```ruby
PoniesCollection.by_aql("FILTER pony.name == @name", {name: "Applejack"}, {return_as: "RETURN pony.name"}).first
```

If you run this you will get an error, because the mapping cannot be performed. To handle this, just deactivate the mapping and get an `Ashikawa::Core::Document` (or just an Array in this case):

```ruby
PoniesCollection.by_aql("FILTER pony.name == @name", {name: "Applejack"}, {return_as: "RETURN pony.name", mapping: false}).to_a
# => ["Applejack"]
```