Create a Code object in an effort to centralize all this parsing logic, remove FindComments
More useful attributes on Code::InlineColumn
Xmpfilter's pp output gets cleaned when --clean and --xmpfilter-style are both present
Remove matrix_filename (came back when merging with EvalIn)
Clean up cukes a bit

* Add a cuke for --as with an existing file.
* Remove some overlapping of names
* Normalize spacing a bit
SiB::Code turns off Parser's errors by overriding method rather than using NullDiagnostics

See diff for reasoning
Binary::RemoveAnnotations uses Code
Proceduralize SiB::Binary

The OO-ness was making it difficult to follow what happened when/where,
thus harder to refactor, and also just generally hazy such that I didn't
want to look at anything other than the toplevel method
Clean up cukes a bit more

* More normalizing whitespace
* Fixed some more overlapping filenames

A couple of different one-liners to do it:

```sh
$ ag 'Given the file' | ruby -ane '~/"(.*?)"/ and puts "#{$1.chomp} #{$F[0]}"' | sort | ruby -ane 'BEGIN{prev=[]}; prev[0]==$F[0] ? p(prev, $F) : prev=$F'
$ ag 'Given the file' | ruby -rpp -e '$stdin.readlines.group_by { |l| l[/".*?"/] }.map(&:last).each { |ls| puts ls, "\n" if ls.size > 1 }'
$ ag 'Given the file' | ruby -ane 'puts $_[/"(.*?)"/, 1]' | sort | uniq -d | xargs -I X ag 'Given the file .*?X'
```