Filter: recursion to loop

It was supposed to do tail-recursion in interpret() but it didn't
compile as such. Converting it to loop makes a significant filter
performance improvement for flat filters.
49 jobs for master in 8 minutes and 34 seconds (queued for 31 seconds)
Status Job ID Name Coverage
  Image
passed #119106
dind
docker_centos-6-amd64

00:00:52

passed #119107
dind
docker_centos-7-amd64

00:00:52

passed #119096
dind
docker_debian-7-amd64

00:00:33

passed #119100
dind
docker_debian-7-i386

00:00:32

passed #119097
dind
docker_debian-8-amd64

00:00:35

passed #119101
dind
docker_debian-8-i386

00:00:33

passed #119098
dind
docker_debian-9-amd64

00:00:35

passed #119102
dind
docker_debian-9-i386

00:00:32

passed #119099
dind
docker_debian-testing-amd64

00:00:35

passed #119103
dind
docker_debian-testing-i386

00:00:32

passed #119104
dind
docker_fedora-25-amd64

00:00:33

passed #119105
dind
docker_fedora-26-amd64

00:00:32

passed #119108
dind
docker_opensuse-42_3-amd64

00:00:50

passed #119109
dind
docker_ubuntu-14_04-amd64

00:00:52

passed #119110
dind
docker_ubuntu-16_04-amd64

00:00:52

 
  Build
passed #119123
docker linux amd64
build-centos-6-amd64

00:01:17

passed #119124
docker linux amd64
build-centos-6-amd64-v6

00:01:25

passed #119125
docker linux amd64
build-centos-7-amd64

00:01:21

passed #119126
docker linux amd64
build-centos-7-amd64-v6

00:01:20

passed #119111
docker linux amd64
build-debian-7-amd64

00:00:44

passed #119115
docker linux amd64
build-debian-7-amd64-v6

00:00:50

passed #119133
docker linux amd64
build-debian-7-i386

00:00:45

passed #119134
docker linux amd64
build-debian-7-i386-v6

00:00:49

passed #119112
docker linux amd64
build-debian-8-amd64

00:00:49

passed #119116
docker linux amd64
build-debian-8-amd64-v6

00:00:53

passed #119135
docker linux amd64
build-debian-8-i386

00:00:49

passed #119136
docker linux amd64
build-debian-8-i386-v6

00:00:52

passed #119113
docker linux amd64
build-debian-9-amd64

00:00:53

passed #119117
docker linux amd64
build-debian-9-amd64-v6

00:00:52

passed #119137
docker linux amd64
build-debian-9-i386

00:00:51

passed #119138
docker linux amd64
build-debian-9-i386-v6

00:00:53

passed #119114
docker linux amd64
build-debian-testing-amd64

00:00:50

passed #119118
docker linux amd64
build-debian-testing-amd64-v6

00:00:56

passed #119139
docker linux amd64
build-debian-testing-i386

00:00:51

passed #119140
docker linux amd64
build-debian-testing-i386-v6

00:00:45

passed #119119
docker linux amd64
build-fedora-25-amd64

00:00:47

passed #119120
docker linux amd64
build-fedora-25-amd64-v6

00:00:52

passed #119121
docker linux amd64
build-fedora-26-amd64

00:01:27

passed #119122
docker linux amd64
build-fedora-26-amd64-v6

00:01:43

passed #119141
freebsd amd64
build-freebsd-11-amd64

00:04:29

passed #119142
freebsd amd64
build-freebsd-11-amd64-v6

00:04:26

passed #119143
freebsd i386
build-freebsd-11-i386

00:01:58

passed #119144
freebsd i386
build-freebsd-i386-v6

00:04:10

passed #119127
docker linux amd64
build-opensuse-42_3-amd64

00:01:36

passed #119128
docker linux amd64
build-opensuse-42_3-amd64-v6

00:01:44

passed #119129
docker linux amd64
build-ubuntu-14_04-amd64

00:01:28

passed #119130
docker linux amd64
build-ubuntu-14_04-amd64-v6

00:01:40

passed #119131
docker linux amd64
build-ubuntu-16_04-amd64

00:00:42

passed #119132
docker linux amd64
build-ubuntu-16_04-amd64-v6

00:00:48