Changes pair output format

When pairs/lists are display now, instead of using the haskell infix :
notation, the actual FL notation is used.
Added an error function

Init.hs now has an error function. This function takes one argument, prefixes
"PROGRAM ERROR: " to it, and calls a Haskell error with the resulting string.
Changed error handling

Haskell's error is no longer used; instead, Error String is another clause of
the Value type. All Funcs defined in Init.hs return something of type Error if
any part of the argument they depend on has type Error; they append their own
function name, leaving a sort of "stack trace".

In addition, substr and strcon were removed from Init.hs; they will later be
added in lib/

Also, I added a todo.txt file to make tracking TODOs easier.
Made code use custom Evals

Now, when the interpreter encounters an error, it returns an ERROR value,
rather than throwing a haskell error.
Minor implementation change to Dtypes

I changed getval to use findWithDefault instead of lookup, hoping that it would
solve the strictness issue. It didn't, but it makes for nicer code so I'm
committing it anyway.
Moved existing library to std.fl

This library will have all functions that seem like they should be in default
FL, but aren't fundamental (do not need to be defined in Init.hs). Currently,
I've only implemented some list functions in it.
Removed useless swp file