Add per-node filter queries + remove `_yz_node` field

Create a custom SearchComponent which allows Yokozuna to perform
per-node filter queries. This removes the need for the `_yz_node` field
and the use of a monolithic filter query. Allowing smaller index size
and less overhead per query.

Preliminary micro benchmark demonstrated 15% improvement in query
throughput. More detailed results to come.

## Benchmark Results ##

Using my "fruit" micro benchmark I was able to produce a 17% increase
in query throughput from 2665 queries per second to 3124
QPS. Strangely enough there was no reduction in index time or index
disk usage. Perhaps Lucene is really good at optimizing that away
using it's underlying PFOR encoding. I'm honestly not sure but I don't
have the time to dig for more details.

### Indexing ###


|            | Throughput (WPS)   | Median Latency   | 99th Latency     | Index du |
|------------|--------------------|------------------|------------------|-----------
|Monolithic  | 1584               | 11.84 ms         | 114.10 ms        | 41M      |
|Per Node    | 1593               | 11.57 ms         | 114.33 ms        | 41M      |

### Querying ###


|            | Throughput (QPS)   | Median Latency   | 99th Latency     |
|------------|--------------------|------------------|------------------|
|Monolithic  | 2665               | 13.28 ms         | 24.03 ms         |
|Per Node    | 3124 (+ 17%)       | 10.62 ms (- 20%) | 22.53 ms (- 6%)  |