move I2C_CLOCK_FREQ macros to header file
i2c: add possibility to select bsc on setup
gpio: determine pi revision at runtime and select corresponding GPIO pins
add new API function gpioGetI2cPin()
i2c: use gpioGetI2cPin() instead of defines
fix indentation
modify signature of gpioGetI2cPin()

API is now similar to the other functions
i2c: use updated gpioGetI2cPin()
improve error checking
trim trailing spaces
Updating after merging github user sjaeckel's changes.

Some documentation updating and code refactoring.
Everything currently builds, but has not been tested on
either revision of Raspberry Pi.
If revision is greater than 3, assume PCB rev 2.

Changed switch statement to if so we can assume
that any cpu revision above 3 has pcb revision
of 2. Reduced maintenance on the switch statement.
Merge branch 'merging_sjaeckel'

Added code from github user sjaeckel's fork which allows
the library to work with PCB rev1 and rev2 Pis.
Added include files for gpio.c and i2c.c
Updating doxyfile to find new includes (i2c.h gpio.h)