Initial work on Drumfish to boot an ATmega128RFA1

Initial work on a project I'm calling Drumfish where the goal is to boot
a complete ATmega128RFA1 board.  Currently the code is laid out with the
goal to allow other boards in the future. The UART misbehaves currently
as it does not buffer and flushes a byte at a time which makes it not
behave like real chips in the wild.
Clean up default .gitignore from Github

Clean up the default .gitignore from Github and only ignore stuff we
care about.
Refactor UART to remove unused bits and misc fixes

Went through the UART code and removed functionality that I'll never
want to expose (a tap with a CRLF conversion). Fixed a few bugs like the
assumption that fd=0 is not a valid fd. If we daemonize and open a UART
then the fd we'll get is 0. Changed code style to match the rest of the
project. Added a lot of error checking and reporting in those cases.