split up whiteboard.[ch] to separate files
Separate the whiteboard objects to their own files and clean up the code a bit.
Testing Done:
Just compile, docs, and update-pot, the only in tree protocol that supports whiteboards right now is SILC which I can't easily build.
Reviewed at https://reviews.imfreedom.org/r/202/