fixed a bug with optional arguments ordering, added a test case for this bug

actually ArgueJS code is not so much commented so I didn't figure out exactly why `expansion.slice is called` for this case. But from what I've tracked, my changes are enough to squash this bug