AP_Compass: Removed _board_orientation, added docu, polished interface

I added a set_orientation() function for (external) compass modules. 
The set_board_orientation() function is only working for internal compass modules. 
Personally, I think one shouldn't use the set_board_orientation() function at all, because it can be solved entirely by the _orientation variable and the checks in read() just waste CPU time. 
Additionally, I added some documentation.

Signed-off-by: Daniel Frenzel <dgdanielf@gmail.com>