Understanding "arduino.h" and "arduino.cpp"

There will be no one who will be willing to write such a documentation. Those that are capable also know how to use tools like "find", "grep" and similar. Once you know this you will see little point in writing up such a documentation.

BTW: the whole core code base of Arduino is pretty small. You can read it within a day.