Fixed compilation with GCC/clang on Linux.

They don't like it, when an unique_ptr contains an incomplete type.
Added varargs header.
Added myself to the credits.
Merge pull request #179 from theunknownxy/refactorfix

Some more fixes