Added an `optional` flag to a parameter tag. fixes #81

If a parameter is optional, tag.optional will equal true.

There are three different way to set a parameter is optional (that I know of).

- JSDoc: {Type} [name]
- Google: {Type=} name
- TypeScript: {Type?} name
fix optional param parsing
test optional @param tag parsing