[Fix]: Check ipmi groups list before creating user

When phosphor-user-manager is started later than ipmid,
then ipmid misses to get the AvailableGroups list from
phosphor-user-manager. Further creation of user through ipmi
will end up creating user which doesn't belong to any group
at all. This fixes, by making sure, ipmi creates user only
if ipmi group is in available groups lists, and will do
re-query if it is empty.

Tested:
1. Verified the user creation behaviour with having dependency to
phosphor-user-manager and without.
2. Manually tested the following.
  a. Stopped phosphor-user-manager & all ipmi
  b. Started phosphor-host-ipmid
  c. started phosphor-user-manager
  d. using ipmitool user set name created user and verified that it
  belongs to proper group as expected.

Change-Id: I5810babda0e70eb7b6bca577af2031da90dbb068
Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
diff --git a/user_channel/user_mgmt.hpp b/user_channel/user_mgmt.hpp
index 054c0e2..159b15c 100644
--- a/user_channel/user_mgmt.hpp
+++ b/user_channel/user_mgmt.hpp
@@ -166,6 +166,12 @@
      */
     bool isValidUserName(const char* userNameInChar);
 
+    /** @brief determines whether ipmi is in available groups list
+     *
+     * @return true if ipmi group is present, false otherwise
+     */
+    bool isIpmiInAvailableGroupList();
+
     /** @brief provides user id of the user
      *
      *  @param[in] userName - user name