Initial Chicken Scheme Support

If you are able, could you please give it a smoke test before merging?

I've given it a look over myself; but I must admit I'm quite weary from the late, short nights with my newborn, and I am not totally familiar with Geiser's full functionality.

to clarify: i was referring to the fact that you're matching `(module
(foo)` but *not* `(module foo`, because in the regexp you use
`\\((...)\\)` rather than `\\(...)\\`: is that correct? i.e., must
chicken non-r7rs modules always have names that are lists?