graph: stylistic change

  * graph.scm: remove a trailing whitespace.
queue: stylistic changes

  * queue.scm: here, reindent.
queue: add inspection

  * queue.scm: here, support 'has.
graph: bfs optimization

  For backtracking purposes, we enqueue pairs. This implies that we
  enqueue duplicates, because a summary inspection of said queue fails to
  compare only the first elements of the pairs. This changes our
  complexity from linear to quadratic. In tricolor terms, this means that
  even though we should only enqueue white nodes, we also enqueue grey
  ones.

  A good solution would be to maintain a queue for the nodes, and one (or
  an association list) for the backtracking information. In the mean time,
  just mark the nodes early on.

    * bfs-graph (bfs): here.
    (dump): new, display a graph.
knights: some common chess problems, relative to knights

  * knights.scm (knight-movements): enumerate all possible relative
  moves.
  (knight-graph): represent all possible absolute moves.