Refactor PlacementController into separate file
Connect tiles in same column/row with arc

If source and target share the same row or column use an arc to connect
them rather than a diagonal.  A diagonal degrades to a straight line in
this case, making it difficult to distinguish overlapping links.
Throw javascript error for do_request exceptions

Throw a javascript error for any exceptions encountered during
`do_request`.  This ensures that any exceptions encountered and caught
by the remote controller will be visible to the client.
Format blocks by swap configuration status

Format blocks by swap configuration status:

    Not participated: "red"
    Skipped:
        source: "yellow"
        target: "darkorange"
    Accepted:
        source: "darkgreen"
        target: "limegreen"