improve token parsing

- make sure argv list is null terminated
- allow use of " marks to enclose tokens
- allow \" to escape the use of " marks
- increase token count