Remove uart.SYS_TIMER and net.SYS_TIMER (use tmr.SYS_TIMER)

This change removes the extra undocumented uart.SYS_TIMER and
net.SYS_TIMER constants, which are equal to tmr.SYS_TIMER.
The documentation says to use tmr.SYS_TIMER and in the rare case
of uart or net being compiled in but not tmr, the system timer
can be had by using nil or omitting the parameter.
Remove unused declaration for a nonexistent function
AVR32: Defer SPI clock setup to when platform_spi_setup() is called

This change defers enabling the SPI clocks to platform_spi_setup()
so that, if SPI ports are not used and BUILD_MMCFS is disabled,
power consumption is reduced.
Fix indentation
Restore original licence on uip-conf.h

Luminary Micros replaced the original permissive Swedish Institute
of Computer Science licence with their own one restricting it to
use on LM devices only. This put the original license back.
See http://uip-stack.cvs.sourceforge.net/viewvc/uip-stack/uip/unix/uip-conf.h
Build system changes to allow building with UIP_CONF_IPV6

These changes allow you to "#define UIP_CONF_IPV6 1" in uip-conf.h
for an IPV6-capable network layer.
This also removes a pointless inclusion in avr32/uip-conf.h
The changes to the other three .c files (from "build.h" to "platform_conf.h")
are just orthogonal future-proofing.
Save 4 bytes RAM per structure by reordering struct members

Structure size is 12 byte instead of 16 with GCC on x86,
probably also on others.
Merge branch 'include_git_rev'
AVR32: In pio.decode(), reverse the mapping of hardware pins to PX names

On AVR32UC3A0 parts, the GPIO pins are named PA0-31, PB0-31, PC0-5 and
PX0-39. There is no port X: these pins map to five backwards ranges of
bits in the third and fourth sets of GPIO registers (where PC0-5 are
the first six of the third register set).
Already we map pio.PX_nn names to these values, and this commit puts the
reverse mapping into place in pio.decode().

Test program to verify correct mapping:

function eval(s)
  return( loadstring( "return(" .. s .. ")" ) )()
end

for i=0,39 do
  name = "pio.PX_" .. tostring(i)
  gpio = eval(name)
  print( name, gpio, pio.decode(gpio) )
end
Fix typos in PIO refman
Document pio.decode()
.gitignore: Ignore auto-generated file inc/git_version.h
Fix typo in docs
Bug fix: always return 0 from Lua functions

Many mizar32.lcd() Lua functions used to tail-call the i2c_send_command()
functions, whereas they should explicitly return 0, the number of return
values from the Lua function. OK, i2c_send_command did return 0 but this
will change in future when it can detect slave presence and collisions.
Ensure Mizar32 i2c pins are initialized if i2c.setup() is not called
Refactor AVR32 I2C code to have I2C packet-level send() and recv() routines

This introduces i2c_send() and i2c_recv in the AVR32 code that send/receive
whole I2C messages from start to optional stop.
AVR32 bugfix: Include usb-cdc.c in the Lua build system too.
Convert AVR32 i2c_{send,recv} to take 7-bit addresses
New mizar32.rtc platform module

Methods: mizar32.rtc.get() returns a table like Lua's os.date()
and os.time() with fields year, monthm day, wday, hour min, sec
and mizar32.rtc.set() takes a similar table, only changing the
fields that are present in the table.
Works with DS1337 and PCF8563 clock chips.
Fix CR->NL and NL->CR transations on linux