Improved filter support, fixes #121

Fixed #121 :
- Implemented support for nested filters using a recursive function
- Changed the name of the value params to include an index, so multiple filters using the same field will still work.

I changed the file through GitHub, but now it is showing extra adds and deletes for unchanged lines. I think GitHub might have fixed inconsistent white space in the existing file.

The real changes are:
- Deleted: 439-499
- Added: 439, 488-563