Multiline output support

It will fixes #44.

There're several concerns. Please comment your thought.

1: The parser requires a blank line or different leading line to detect end of an example.

It might be not good especially an example is place inside `{{{` `}}}`. The following example will fail because it has `2\n}}}` as an expected result.

````
/**
 * {{{
 * >>> 1 + 1
 * 2
 * }}}
 */
````

I think that we can handle `}}}` as a terminator, but we can't test an example which output `}}}` in that case.

2: Trailing spaces are often removed by IDE/editor

Following is an actual doctest which I tried, but it isn't parsed as an example. Because the second line ` *      |$` has a different leading string (`$` is shown as a line end).

Is it a problem of sbt-doctest?

````
/**
 * {{{
 * scala> """$
 *      |$
 *      | abc"""$
 * res0: String =$
 * "$
 * <BLANKLINE>$
 * abc"$
 */
````
@fthomas I'm going to merge this pull request. Please let me know if you find an issue about this regexp change.