exclude/include can now be an array

the most important change here is probably:

* simplify options handling by using ~functions~