Adding introspection into the validity of an actionlib server goal handle

Previously, if you called getGoalStatus() on an uninitialized ServerGoalHandle, it would generate a ros error message about being uninitialized, yet it's possible to construct an uninitialized ServerGoalHandle. This patch adds an `isValid()` function which returns `true` if the ServerGoalHandle is considered initialized and it's ok to call the other `get*()` functions.