click: Fix issue with IPFilter processing Ethernet addresses

An IPFilter expression which scans for a MAC address in either the src
or dst part of the frame, e.g. 'ether host <MAC>' or 'ether src or dst
<MAC>' could emit false positives. The underlying IPFilter driver
breaks down an individual MAC address into 2 chunks of 4 and 2 bytes
respectively. The driver should normally test each chunk against the
incoming address and logically AND the result.  However, in the bug
case, all chunks end up being logically ORed thus only part of the MAC
address needs to match to pass. This submission corrects this by
wrapping each MAC test in a separate subtree that is logically AND'ed
for each src and dst MAC address and then the two results logically
ORed

Also updated the associated click testie to cover this condition.
Merge pull request #127 from pbuonado/pb_ipfilterfix

click: Fix issue with IPFilter processing Ethernet addresses