Adding promise to all the methods, just let the callback be undefined to return a promise.
Code cleanup.
README update on executeCommand function.
checkSimMemory promise bug fix, the callback fires with only one argument, so the first one should be result and the second error, this let us to remove unnecessary callback definitions.
readSMSBuId callback was never used, so it is removed.
initializeModem promise bug fix, the callback is being fired with one argument, so the first one should be result.
for open and close methods, I suggest to change the callback arguments order to be (result, error) in order to be like the others.
If sendSMS method is in promise mode, fires callback only after the sms is sent or failed, but for the sake of backward compatibility it is fired 2 times if there is a callback function provided.
as we provide a promise callback if it is undefined, there is no need to check it if the callback is present or not to fire it, it is always present.