Added support for #| foo |# style block comments.

This adds support for the following comment style

(defun (foo a b)
       (+ a b #| foo |# 3))

This is also legal

(defun foo
       #| (let ((x (: io read_file 'bar)))
               (do-stuff x)) |#
               (no-really-do-stuff (: gief 'bar)))

As has been covered in every mention of this topic, this is not legal
and never will be under the current implementation of the parser.

(defun foo
       #| (let (#| get info |# (x (: io read_file 'bar)))
               (do-stuff x)) |#
               (+ 3 3))

Nested comment blocks are not allowed and will error as a syntax error.
Add nicer parse error for nested comments.

The parser does not support nested block comments and the debate rages
on as to whether or not they are required. This is an improvement on the
existing support for simple block comments in that it provides a syntax
error and a line number when they are encountered.

I'm not convinced I've done it the right way but it's a state. :)
Fixing for awesome.

I ran some, albeit slightly contrived, benchmarks for the change from re:run/2
to string:str/2 and string:str/2 came out ahead. The gist of what I did
can be found here https://gist.github.com/mankyKitty/8558705.

Also removed the line number inclusion from the error message.

Everything is a lot cleaner now too!
Merge pull request #51 from mankyKitty/add-bracketable-comments

Added support for #| foo |# style block comments.