Add initial beaglebone pinmux and update boards.txt

Taking from Arduino-1.5.x, I've added a variant.cpp and
variant.h. The source file contains a preliminary pinmux for
the Beaglebone Black, defined in the structure g_APinDescription[]

TO-DO:

- fix to improve Analog pin compatibility with existing structure
- fix to make structure more functional and informative
- update to add support for loading DT-overlays from init()

Signed-off-by: Parav Nagarsheth <parav.nagarsheth@gmail.com>
Add pinmux structure

The virtual_main.h file now has the pinmux structure
for defining and loading the pinmux from init().
It also has small fixes to make it work with the new files.

Signed-off-by: Parav Nagarsheth <parav.nagarsheth@gmail.com>
Add Arduino.h

Arduino.h for compatibility.

Signed-off-by: Parav Nagarsheth <parav.nagarsheth@gmail.com>
Add initial GPIO infrastructure

Fixed wiring_digital.c to work with Userspace.
export_gpio() exports the pins in sys/class/gpio
TO-DO:
- Integrate abstracted sys_fs functions for access to filesystem
- LED support in digitalWrite()

Signed-off-by: Parav Nagarsheth <parav.nagarsheth@gmail.com>