fixing login based on credentials (+explanation)

Created two modes for a login request - one is used when the main
thread is blocked (for the call in viewDidLoad - where we want to call
it "synchronously") and the other is used when the main thread isn't
blocked (if we don't specify that the main thread is blocked, then it
is assumed to be unblocked; the second mode is being used for a login
on submit button push).

After thinking much of it and checking possible solutions - I got to
the conclusion that we can't put all the completion blocks on the main
thread (they were attached to dispatch_get_main_queue() inside
dispatch_async()), if we want the main thread to wait for the login
request to complete. If we wait, then we just "block" the main thread
and any pending completion block can't be executed (hence the login
process will never end). So we need to schedule all completion blocks
using a different queue (the new "queue" propery of TWapi).

On the other hand, we can't put all API requests and completion blocks
outside of the main thread, because calling UIKit operations (like
showing an alert) outside of the main thread is illegal (see
http://tinyurl.com/d4m9sdm ).

To enable the two modes in a login request, the two modes were also
added to the general function PerformRequestWithParams (although it is
still possible to call it as before, like in login).

Currenly this two-moded behaviour is only supported in login request.

+other minor fixes: no need for alerts when we use login request based
on credentials, fixing the placement of network_activity hiding