flush now checks that the status is "ok" as well as a 200
carrier stuff added. now requires core telephony
Merge branch 'dev'
adding checks to make sure the library is loaded
Revert "adding checks to make sure the library is loaded"

This reverts commit 7207f241c80c790fb6340371d99caf262dfeea79.
Revert "carrier stuff added. now requires core telephony"

This reverts commit 69e9b3875d0379573bc9e9f7c7ee81818d8bfa90.
updating compatibility to iOS 4.4


There seems to be two major changes in the commit. The first deals with %ul format string conversions, and the second deals with the use of the Objective-C isa variable.

The format string conversions in the commit change the format string conversions of %lu to %u. The reason that %lu is used is because a conversion of %u will break 64-bit builds. The current practice of using %lu exploits the fact that on 32-bit builds, the unsigned int and unsigned long have the same "size". Technically this isn't very good C style- int and long have strictly different integer ranks (see C99 TC3 § 6.3.1.1.1). It would be better style to explicitly cast the argument to (unsigned long), which would remove the (semi-type-punning) ambiguity and preserve proper 64-bit behavior.

The use of the isa member of id is done on purpose. The use of (id)object->isa is (probably) at least an order of magnitude faster than object_getClass(object), and there is absolutely no reason or requirement to use object_getClass() as isa has been publicly documented to be the first pointer of any and all Objective-C objects for more than 20 years now.

Not updating JSONKit because of this comment: https://github.com/johnezang/JSONKit/pull/74#commitcomment-1120269
adding username
updating the key to match the server
updating it to use login event
updating method name login -> userLoggedIn
remove the read me for openudid
adding a comment about the memory leak
tabs -> 2 spaces
updating the code to only send what it has values for. no more unknowns being sent
stupid read me
experiments
fixing the url path, adding some logging
adding a logging for the device identifier
error checking on intForString