2 new init methods LiquidPackage, Value and Variable

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
[Fix] return NSNull instead of nil (LQLiquidPackage)

A `[NSNull null]` was being returned instead of returning a `nil`.
This can cause a crash on the app. So, older versions of the SDK than this commit
should not receive a `null` from the server.

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Move inBackground from lazy initialization to init

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Remove inBackground property check from bg/fg delegates

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Move position of startFlushTimer inside init

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Rename LQQueue to LQRequest

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
[Refactor] Network stuff to LQNetwork + some adjustments

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Merge branch 'master' into refactoring

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>

Conflicts:
	Liquid/Liquid.m
Cleaning code

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Remove unnecessary copy on User alias method

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Merge branch 'master' into refactoring

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>

Conflicts:
	Liquid/LQDefaults.h
	Liquid/Liquid.m
Fixes on tests

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Return unmutable dicts on jsonDictionary: methods

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Add tests for LQUser "copy" method

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Better log messages

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
autoIdentifyUser now uses identifyUserSynced:

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Attribute with a reason (by) on startSession and endSession

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Better pointers handling on startSession, endSession and identifyUser

* `init`: property `_currentUser` is now set by `identifyUserSynced:`

Better pointer handling at methods:

* `startSessionAt:`
* `endSessionAt:`
* `identifyUserSynced:`

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Queued data (dispatch queue) is now NSData (json)

instead of a NSDictionary

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>
Add atomic references to some @properties

Liquid.m:

* Liquid.loadedLiquidPackage
* Liquid.networking
* Liquid.queue (dispatch_queue_t)

LQLiquidPackage:

* LQLiquidPackage.values
* LQLiquidPackage.liquidVersion
* LQLiquidPackage.dictOfVariablesAndValues

LQNetworking:

* LQNetworking.httpQueue

Signed-off-by: Miguel M. Almeida <miguelcma@gmail.com>