feat($extension): optional file extensions validation

Allow users to specify an array of allowed or disallowed extensions.

closes #7