Improve OptionParser switch validation

This adds a third element to the tuple returned from OptionParser.parse/2 when the value for an option doesn't match its switch type.
Use list concatenation operator instead of function
Add documentation for invalid switches
Change OptionParser to always permanent invalid list

The tuple returned from OptionParser now always includes the third element (invalid options list).
Update OptionParser test for permanent invalid list
Update mix tasks for OptionParser permanent invalid list
Converge store_option and validate_option in OptionParser
Merge pull request #1561 from thmzlt/option-parser-invalid-options

Improve OptionParser switch validation