So, this is to answer jzaun's question about routing. He was concerned this would take three layers, but it can be done with two. Hopefully it points out a few trick for routing.
First trick is not converting each "air wire" directly into a wire. Sometimes when three or more pins are connected, it's easier to route one of the connections on the top layer and the other on the bottom. There is more than one way to connect three pins, don't assume the "air wires" are showing you the best way. That's what I used to route the bottom of the board in version b. Look at the other possible ways to connect the pins.
The second trick is to use vias. Vias let the trace change from one layer to the other. Take the trace that goes from the center pin of Q1 to SW1. I got it around the other traces using two vias. Sometimes you pay extra money for vias: version b has fewer vias and version c simplified the bottom area using more vias.
R5 is a common trick of using a resistor or capacitor as a bridge over other traces. Like a via, it lets you go over other traces regaurdless if they are on the top or bottom. I also used this to route connections from J3 to J4 through SW1 and U1.
Worst case, you can also use jumper wires. These are physical wires that you would need to solder into place. If you absolutely can't route it in two layers, this can allow you to get it done on a two layer board.
Using the resister as a jumper wire trick, you could re-route the trace that goes from Q1 to U1 to J4 to J3. If you ran a trace on the bottom layer from J3 underneath R4, then the via in the upper left can be eliminated. That would let you remove the trace directly from J3 to J4 that currently runs under SW1.
I also ran through the power supply. I got rid of all of the vias. Sometimes when you get close to fully routed, you can see that rotating or moving a part can help you route around or thru it. If you hold the mouse button down while you're over a trace or pin, all of the connections on that net light up, which is great for finding other routes to complete the net.
When it's all done, you want to see "Routing completed" show up on the bottom information block. Then do a Routing->Design Rules Check (DRC), or CNTL-SHIFT-D. That will tell you if anything is too close together or overlapping.
Then you're ready for the ground fill. Sometimes after the fill you need to make minor corrections in order to avoid islands, but they're not really a big deal.
They are both complex boards, so you would need to check that I didn't accidentally delete any traces.
I added another version which shows a layout with no vias at all. I routed wires accross U1 so that they didn't cross each other. Another little trick was routing wires inbetween pins going from Q1 to the SW1. The original trace width gave me DRC errors, so I changed the trace width to thin and used two of them,