Renamed Log to HiveLog.

Log was causing conflicts with math libs. This could be avoided by using the namespace scope, but this was just a bit more practical.
Function macro

Added a new macro to get the full function name. Handy for warnings in template functions.
Solution name is now configurable

Allow the user to change the name of the generated solution.