add another foaf to demonstrate failures

in trying to build a failing test for #104, i added another foaf so that the foaf queries in the tests would match 2 friends rather than just one.  in adding this extra triple, i think i've uncovered a number of other issues.  i've opened this PR as a way to have a discussion around whether or not my expectations are correct.  i'll make more specific notes on the commit to help give context for the discussion.
this test case is the one which i'm concerned about.  here's my reasoning for how i arrive at a solution.  for reference, here is a table with all the friend relationships

| subject | object |
-----------|-----------
| matteo | daniele |
| daniele | matteo |
| daniele | davide |
| daniele | marco |
| lucio | matteo |
| lucio | marco |
| marco | davide |

my mental model for the navigator API is that each step follows the predicate from each of the nodes in the previous result set and then those nodes become the starting set for the next step.  below is what i expect to be the working set after each step in `db.nav('davide').archIn('friend').archIn('friend').archOut('friend')`

| `db.nav('davide')` | `.archIn('friend')` | `.archIn('friend')` | `.archOut('friend')` |
|:----------------------:|:----------------------:|:----------------------:|:-----------------------:|
|  `['davide']` | `[ 'marco', 'daniele' ]` | `['daniele', 'lucio', 'matteo']` | `['matteo', 'davide', 'marco', 'matteo', 'marco', 'daniele']` with duplicates removed is `['matteo', 'davide', 'marco', 'daniele']`|

i've walked through the navigator code and it essentially produces the same search query:

```js
db.search([
  {
    subject: db.v('x'),
    predicate: 'friend',
    object: 'davide'
  }, 
  {
    subject: db.v('y'),
    predicate: 'friend',
    object: db.v('x')
  }, 
  {
    subject: db.v('y'),
    predicate: 'friend',
    object: db.v('z')
  }
], function (err, results) {
    var solutions = results.map(function (result) { return result.z; });
    // ...
})
```
for some reason though, whether you use the navigator api or the search, the result being produced by the code currently is `[ 'daniele' ]` which doesn't seem right.

as i walked through the code, i noticed that the query planner was sorting the search queries based on the approximate size.  it seems that the sorting may put the queries into an order that can break my assumption that the output for one query produces the starting nodes for the next query.  do i have the wrong mental model of how queries are applied?