Updated comments.
added the checkSubGroupMembership and getBasis functions. 
This implementation moved from the ECF2mUtility class since it uses BC
library and should be used only in BC dlogs.
Instead of checking the membership of the point using the utility class,
check it using a native function uses Miracl library.
Instead of checking the membership of the point using the utility class,
create the point and then call isMember function of the DlogGroup. In
case the point is not a member, delete the allocated memory (OpenSSL has
no function that gets x, y values and check if they are on the curve).
Fixed bug in encodeByteArrayToGroupElement function:
The function converts the given byte array into a BigInteger, which we
treat as x. Then, we put iit in the curve equation in order to find a
suitable y value. In order to do that, we need to find a square root of
a BigInteger, which is a function that BigInteger of ja va does not
have. So, we used to use BC to  do that. This is wrong since if a user
chose OpenSSl library he does not want to use BC. 
The solution was to write the whole function in c++.