Line directive (#line ...)

Add a line directive to Ruby

```
  #line {nn} ["filename"]
```

This is done by creating a array of filenames and using the upper bits of the line_number to determine the current filename.  The original filename is in position 0.

An extra node is added by the parser that informs the compiler of the filenames so the backtrace code can follow it.

The __\_\_LINE____ and __\_\_FILE____ _constants_ are updated and compile time warnings are also effected.