Add compact mode and view config data
Add string copy and match functions
Merge calendar items
Fix some ical memory issues
Fix some resize issues

This adds a few curses like functions to view which can be used to
resize windows that are at the bottom of the screen. It also removes the
(useless) header window form the day and week views.
Display all day events at the top
Add flag for dummy events
Support multiple ical files

This also adds support for tilde (and other wildcard) expansions in
calendar filenames.
Make prototypes internal to cal.c and view.c
Add cal_load function and update cal APIs

Internally, this should make things a little easier, since we use
globals for EVENTS and TODOS anyway.
Update tests
Free unused cal memory memory

This makes all the string in events and todos dynamically allocated.
The memory for the event and any underlying data is now owned by cal.c,
and will be freed when no longer needed.

Maybe someday we'll go back to making these constants, since that would
require less duplicated strings, but for now it's easiest to just make
everything freeable
Add simple config file parser
Start keeping track of calendars

This also add a read-only settings view, which is mostly for debugging
at this point, and make some header formatting more constant.
Move around view functions
Add popup views
Add edit view
Set default escape key delay
Rework how the current window is stored

The current window is now a pointer to the actual window instead of an
index into the menu. The menu is also stored separate from full list of
windows and each window is created as a separate structure so that it
can be referenced by name.

The down side is that we can't use an 'enum' for config parsing, but on
the other hand, we're not duplicating the list of names at least.
Bump copyright on files modified in 2013