Moves blank line checking to LineByLineObject

And ensures that attributes are saved to their instance variables.

Also renames Mobiles.LINES to Mobiles.ATTRIBUTES for clarity's sake.
Adds more parse methods to Mobile
Adds a validate_tilde method

TheTroubleWithTildes gets a new method validate_tilde which will
evaluate a line for multiple tilde-related errors and call err/warn/ugly
as necessary. (So it requires that any class including it also include
Parsable).

This isn't used anywhere yet.

Pass in the line, the line number, and an options hash. Valid keys:
  :name - defaults to "Line"
  :absent - true or Proc
  :absent_or_spans - true or Proc
  :extra_text - true or Proc
  :not_alone - true or Proc

:name is what will appear in the error message. For the rest, any truthy
value will make the method test that condition. If the value is a Proc,
it will call the proc.