Added linux kernel checkpatch.pl script and stylecheck target.

To make it easier on everyone to keep a uniform coding style throughout
the project we will be using this target to verify our code for
complience.

Currently a lot of files in the project don't fully follow the coding
style. We need to reach that spot over time though. :)
First coarse run to fix coding style in locm3.

Added --terse and --mailback options to the make stylecheck target. It
also does continue even if it enounters a possible error.

We decided on two exceptions from the linux kernel coding standard:
- Empty wait while loops may end with ; on the same line.
- All blocks after while, if, for have to be in brackets even if they
  only contain one statement. Otherwise it is easy to introduce an
  error.

Checkpatch needs to be adapted to reflect those changes.
Changed to use stdint types.
Stile fixes run, 80 char boundry.
Changed to use accessors instead of casting to volatile pointers.

In places where we were defining memory mapped peripheral buffers we
were using directly a cast to "volatile int_type *". For consistency we
should use dereferenced accessor like: &MMIO32(address)
Reverted the __packed and __aligned change.

We should not add compiler extensions, it is not our job. We are not a
selfcontained project as kernel is so we should not introduce things
like this.

If we need to add some abstraction for this in the future to support
compilers doing these things differently then we will do that the same
way we dealt with the depricated attribute.
Added amendments to the linux kernel coding style.
Replaced goo.gl links with links to our new file archive at github.

https://github.com/libopencm3/libopencm3-archive
Dropped raw option on github file archive links.
Spellchecking fixes.
sam: Fix usart receive.
sam: Add convenience function for clock setup for 8MHz RC oscillator.
sam: Add ADC register definitions.