Use Grammar to parse Content-Disposition type

This makes Content-Disposition-related behavior more correct.

fixes #6