Add DSL for new tests and some new tests

My first try to create some foundation for building better test suite
for the gem. The coverage of the current tests is pretty good, but the
problem with them - they are not atomic. Now, the test suite is just a
file with input lines, and a file with expected output. And if some
output line is not the same as the corresponding line of the expected
output, it will fail the test. The problem with that approach:

* It is hard to extend the tests
* It is hard to understand what we test exactly right now by that
  specific line
* It is pretty hard to understand what fails exactly
* They are very coupled (within one file), all next commands
  depend on previous commands
* If we need to add another output format (e.g., if we want to add XML
  or JSON to allow IDE to talk to 'debugger', we will need to duplicate
  the current test suite for that new output format

The good thing though - the tests are very decoupled from the
implementation of the debugger, they are more like 'Integration' tests.

We are in 2012 now, so let's try to use more modern approach for the
tests. I added some DSL for testing debugger, using MiniTest tests, and
the test suite for breakpoints as an example.
Rename 'ex*' example files

Renamed them to breakpoint1.rb and breakpoint2.rb, also added
settings.rb.

So, the idea is to create a separate example file for every test suite.
It should make maintaining of example files a little easier
Move setting of test interface into TestDsl

That line should be added to every spec, so let's move it into TestDsl,
since we include it to all test suites anyway
Add tests for 'conditions' command
Add tests for 'continue' command
Add tests for 'restart' command

It also adds 'mocha' framework to the app. Unfortunately, built-in
'minitest/mock' is too limited, and can't stub class methods :(
Rename check_output in TestDsl

Added 2 methods instead - #check_output_includes
and #check_output_doesnt_include, to be able to check not including into
output too
Add tests for the 'display' command
Add tests for the 'edit' command
Add check for debugger block completion in TestDsl#debug_file

Now it will raise an error if the block by some reason wasn't completed
Add tests for the 'display' command
Replace Debugger.breakpoints.first by a short alias
Add tests for the 'eval' commands
Add tests for the 'finish' command
Add tests for the 'frame' command
Add tests for the 'help' command
Clear display expression before and after every test

Moved clearing to test_dsl, since we basically need to make sure we
don't clutter Debugger.handler.display and always with clear state
Improve TestDsl#check_output_includes method

Now it checks that given collection is included into the original
collection in correct order and accepts both strings and regexps.
Created #assert_includes_in_order and #refute_includes_in_order matchers
for that
Add tests for the 'info' command
Add Mocha's new #calls expectation