Don't complain about code like `while (true)`
cli/runner enhancements...

-cli always returns exit code which indicates whether warnings or errors were encountered.
- Updated stdin reading code to work with latest node, it's now synchronous.
- Added silent option, --quiet suppresses console output but not warnings/errors, --silent suppresses everything.
- Added Runner.compileFile method for compiling a single file.
Catch and display acorn errors correctly
Reorganized fixtures, generate warning fixtures
Don't lint fixtures
Fixed copy setter code generation
Factor out describe code, make it data-driven

Increase slow threshold
Added --list-warnings option to cli
Allow self to be assigned to in methods
Better method/protocol checking...

- Duplicate method declaration within a single class is an error, not a warning.
- Warn when there are duplicate method declarations within a single protocol.
- It is an error if a protocol in a protocol list is unknown.
- Added parameter-types warning, by default method return/parameter type mismatches are not warned about (per Xcode).
Added "none" warning to suppress all warnings
More tests
Assignment to local var outside of declaration was warning
Per Xcode, @protocol literal with an invalid name is an error
Clean warning fixtures
Better @ref function, moved test to code dir
clean before generating fixtures
More consistent naming
Per Xcode, duplicate ivars is an error
Optimized array literal code generation, fixed formatting