Add better error checking to the two line directives.
Add better error checking to the two line directives.

Icarus supports both a #line and `line directive. This patch
reworks the parsing of these to provide better error detection
and full checking.

CastMi/iverilog,CastMi/iverilog,themperek/iverilog,themperek/iverilog,CastMi/iverilog,themperek/iverilog