move risk() from StructuredModel to DualLibQPSOSVM

I try to move model independent stuff out of the StructuredModel. 
1) risk() is only used by BMRM, so it has moved to DualLibQPSOSVM.
2) Changed a little bit the interfaces to libqp, so it doesn't depends on StructuredModel any more.
3) Keep m_features and m_labels in StructuredModel, since joint_feature_map(), argmax() and delta_loss() need them.
4) fix surrogate loss to Hinge loss, but keep a member variable m_surrogate_loss in StructuredOutputMachine, since we may need it for future extension for non-convex losses.

@ppletscher, @iglesias, @vigsterkr : please let me know your opinion :)