Rename class -> struct for few declarations

These are defined in basic.h as "struct", so we need to forward declare them as
"struct" too. This was triggered by clang warnings (gcc compiles without
warning).
Merge pull request #143 from certik/clang

Rename class -> struct for few declarations