New demo application: nqueens

This is a new demo for the nqueens based on the X10 version.
It occurs to me that you could make the algorithm part a bit cleaner by making the remote copy happen inside the `new Board(localBoard, i)` call (i.e. pass it a global pointer instead). Then instead of copying the contents twice as you're doing now, you could pass the global address to the previous board, and the new `i` to the task you spawn and create the new Board (with delegates to copy the values) once.