The hobby king KK2 board looks like a good low cost option at only $30. If you just want something cost effective and simple this seems a solid route to go.
Longer term though; I like the idea of autonomous flight capabilities and, even when manually controlled, the ability to automatically return to the launch site should something go awry.
To achieve these goals, the Ardupilot system looks quite good. Direct from DIY Drones, the creator, it costs $180 + shipping. RCTimer sells a copy called the ArduFlyer for $89.99 they also sell the u-Blox CN-06 GPS Receiver V2.0 for $26.99 ($116.09 + shipping total). Their version seems well reviewed so I opted for it given the savings.
Based on comments it sounds like the GPS receiver from RCTimer isn’t optimally configured out of the box. If you install uBlox’s u-center software and upload the 3DR-Ublox.txt configuration file as documented here it appears to get a lock faster and the baud rate is increased from 9600 to 38400. You will need a 5V TTL to USB adapter; I used a CP2102 Module USB to USART(UART) 3.3V TTL USB To COM which was $2.80 shipped from ebay (it works with 3.3v or 5v devices).
You will need to use some jumper wires to connect the GPS to the TTL/USB adapter as the pinouts aren’t quite the same. Also, note you want to connect TX -> RX and RX -> TX for them to communicate properly. Going TX to TX and RX to RX will not work.
I found loading the settings to the GPS would make it ~3/4 of the way through and then error out. I believe this is due to the baud rate of the GPS changing partway through the config loading. To get around the problem I initially set the u-center software to 9600 baud and loaded the config as far as it would go. I then swapped to 38400 baud and re-loaded the full config; this second runs seemed to complete without issue.
I found this guide quite helpful for getting the arducopter mission planner software installed and setup. I attempted to install the latest tricopter firmware on my ArduFlyer before connecting to it as they instruct. I found the auto com port detect seemed flakey but after manually selecting the correct port (9 in my case) everything seems solid.