Embed scheme interpreter

The 'scheme' command is added to evaluate a scheme expression.  Wrappers
are provided for all cmus commands, excepting redundant commands like
'win-add-l' et. al..  This is accomplished by linking against the
chibi-scheme library.
Added 'Night' colorscheme
Fix crashes caused by a9ad5ee494221b5ba4b59527e4c3535527a23eac

For some reason, I've merged referenced commit without actually testing it.
Sorry.

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
Implement scheme wrappers in scheme

Most of the scheme functions defined in scheme.c have been moved to
data/lib.scm, which is loaded on program startup.  scheme.c now exposes
the run_command() function directly, so it is possible to implement
wrappers for cmus commands in scheme.  run_command() is available in
scheme as (*run-command command), which takes a single string argument,
or (run-command command...) which takes at least one string argument,
inserting spaces before each additional argument before concatenating
them and calling *run-command.

Also, functions are defined for getting the filename of the selected
track and for getting the value of an option.  These are available from
scheme as (selected-track) and (get-option name), respectively, where
"name" is the name of an option as a string.
Make struct track_info available in scheme

A track-info object can be obtained in scheme through the
(selected-track) function.  This may be interrogated through various
track-info-* functions (e.g. (track-info-duration [obj]) will return the
duration of obj).  So far duration, bitrate, codec, date, tracknum,
filename, title, artist, album and genre fields are available.
Some useful scheme functions for colors

Added functions mapping color names to integers and vice-versa.
Merge remote-tracking branch 'upstream/master'