Added 'read-char' primitive.
Added 'read-char' primitive.

'read-char' works slightly differently in bs than in other schemes.
Instead of reading the very next character from the input stream, it
starts reading characters after the next newline.

This is because of the way bs parses input; when building up tokens to
be parsed into expressions by bs_read(), the lexer reads in a line at a
time, rather single characters, and tokenizes the whole line at once.
That means any characters following a call to 'read-char' have already
been read in before the call has been evaluated (or even parsed).

For example, in most schemes, evaluating (read-char) at the REPL will
look like this:

    scheme> (read-char)
    #\newline
    scheme>

Whereas in bs, it would look like this ('->' indicates user input):
    bs> (read-char)
->  a
    #\a
    bs>

ingramj/bs,ingramj/bs,ingramj/bs