Better code analysis of methods to see when they are empty

Fixes #492
Removing unnecessary check on token key
Save token_name call
Inline isMethodEmpty call
Missing type hints
Guard against errors with internal types
CS in default argument
HHVM support
Progress bar that grows from left to right
Remove unneccessary count of specs in favour of Statistics Collector
Fixing numbers on right hand side
Move responsibility for counting total specs in suite to StatisticsCollector
Refactor formatter + reduce flicker in progress bar

IO now only updates the minimal rightmost changed section of output
Fixing off-by-one error on progress calculation
Adding basic test coverage
Merge pull request #496 from ciaranmcnulty/bugfix-pending-specs

Better code analysis of methods to see when they are empty
Basic scenario
Guard against generating code when method is not empty
Guard against contradictory examples
Normalising the message at the prompt