* when a message is successfully sent, signal-cli returns a timestamp,
which we convert to an integer. in case, we, for some reason can't
convert the timestamp to an integer, it means that signal-cli returned
some non-numeric characters as well (which is a strong indication that
there was an error). So, instead of returning the parsing error,
return the actual signal-cli error message.
see #412
* due to different glibc versions, it is not possible to use the
existing (prebuilt) libsignal_jni.so that get's shipped with the
signal-cli binary distribution for the signal-cli native image build.
So in order to make that work (again), we need to use our own
libsignal_jni.so for the x86_64 build.
see #412
Motivation
----------
The way how I fixed this is that both `Stdout` and `Stderr` are responded back to the client.
I don't think it's good practice to discard `$stderr` on success and to discard `$stdout` on error.
Let me know what you think. I'm still very new to Golang.
How to test
-----------
1. First of all you must be able to reproduce "CAPTCHA proof required" error (I guess you need to send a lot of messages to the same number)
2. Execute:
```
curl -X POST -H "Content-Type: application/json" 'http://localhost:8080/v2/send' \
-d '{"message": "Test via Signal API!", "number": "<SENDER_PHONE_NUMBER>", "recipients": [ "<RECIPIENT_PHONE_NUMBER>" ]}
'
```
3. See in the JSON response:
```
{"error":"Failed to send (some) messages:\n+49176xxxxxxxx: CAPTCHA proof required for sending to \"+49176xxxxxxxx\", available options \"RECAPTCHA, PUSH_CHALLENGE\" with challenge token \"1f209ee0-d487-4efc-xxxx-xxxxxxxxxxxx\", or wait \"86400\" seconds.\nTo get the captcha token, go to https://signalcaptchas.org/challenge/generate.html\nCheck the developer tools (F12) console for a failed redirect to signalcaptcha://\nEverything after signalcaptcha:// is the captcha token.\nUse the following command to submit the captcha token:\nsignal-cli submitRateLimitChallenge --challenge CHALLENGE_TOKEN --captcha CAPTCHA_TOKEN\nxxxxxxxxxxxxx\nFailed to send message\n"}
```
fix#403
* when multiple accounts are registered, signal-cli expects the account
specified with '-a'. In order to stay backwards compatible, the search
endpoint was extended with an optional number parameter. i.e:
'/search/{number}'. In case only one account is registered, the number
parameter can be omitted.
see #369