Enabled appending to arbitrary grid lists, refactored for DRY, documented

1. Added an optional argument `$append-to-list`
   that is used as a source list for appending.
   Defaults to $grids.

2. Refactored the code to remove duplicate expressions
   and make it much cleaner.

3. Documented the function and every part of it
   with well-written comments.
Fixed a slight typo: missing brackets in a comment
add-gutter(): enabled appending to arbitrary grid lists, refactored for DRY, documented

The changes here mirror the changes in `add-grid()`, see
https://github.com/lolmaus/Singularity/commit/7ee7f5a39733a7c793087aa860666fe79f91e423
Merge pull request #86 from lolmaus/patch-1

add-grid(): enabled appending to arbitrary grid lists, refactored for DRY, documented