Copy some files verbatim from the Arduino avr core

These files were taken from the ide-1.5.x branch in the Arduino.git
branch, revision  in the Arduino.git branch, revision  in the
Arduino.git branch, revision 1.5.5-r2-132-gb6fa3c7.

The files copied are most declarations and all implementations that are
not avr-specific.
Disable some includes which are not needed

In particular, we don't have a need for HardwareSerial.h or USBAPI.h,
since we don't have that hardware. Furthermore, there is no need to
include new.h, since the compiler will already provide a new
implementation (unlike on avr).
Let wiring_shift.c include Arduino.h

In the Arduino environment, it would include wiring_private.h which
would again include Arduino.h. Since wiring_shift.c does not actually
use anything from wiring_private.h itself, it makes sense to just
include Arduino.h directly (since we don't have or need
wiring_private.h).
Add pins_arduino.h file

This file normally contains variant-specific definitions. Now, it just
contains the stuff that is normally defined in pins_arduino.h and
actually used by sketches and libraries (and for now only the number of
pins).
Implement itoa and friends

This implements ultoa, utoa, ltoa, itoa and dtostrf. These are normally
defined by stdlib.h in avr-libc, but not by libc on x86 or x86_64.

The declarations in xtoa.h are taken from avr-libc, but avr-libc only
contains an assembly implementation for these functions, so the
functions are implemented from scratch.
Add (still empty) init() function

This function should be called early in the main() function by programs
using this library (and will later be used to initialize various parts
of it).
Add FDStream for I/O through file descriptors

This implements the Arduino Stream interface. In addition to the
FDStream class, this also declares an StdioStream object which outputs
to Stdin and Stdout, as well as a "Serial" and "SERIAL_PORT_MONITOR"
define that point to StdioStream.
Add dummy avr/pgmspace.h implementation
Add empty avr/io.h and avr/interrupt.h
Add wiring.c timer and delay implementations

This uses a monotonic clock when available, but when it is not (like on
OSX), it just uses the wallclock.
Add wiring_digital.c digital I/O implementation

For now, this just keeps the mode and value of pins in an array in
memory. Output pins read back their own value, input pins read high when
the pullup is enabled, low otherwise.
Add dummy wiring_analog and wiring_pulse.c

These contain empty implementations of the pulse, analog input and PWM
output functions to allow sketches to compile.
Add Makefile to easily include ArduinoUnix in a build
Add Hello, World! example program

This example shows a simple program with its own main() function that
links against ArduinoUnix. It has an accompanying Makefile that
illustrates the three different ways to link against ArduinoUnix.
Define a main() function

This allows compiling Arduino sketches that only define a setup() and
loop() function. However, by making the main() function weak, it is
still possible to override it in programs that define their own main()
function.
Add example of compiling a .ino sketch
Add .gitignore file