WIP6

 * Add tests
 * Fix some of Stas' code
 * Support collecting unknown named args into ...$options