Parameters not ordered fix

I have two commits in this pull that take care of the two problems of issue #10.

The position of parameters is now recorded and taken into consideration as the parameters are munged.

More contentiously, I removed the @extras to be able to have parameters set after options. So that we can have:

   foo bar --option X my-param-1 my-param-2

Please have a look and let me know what you think.