Implementing Github authorization

Squashed commit of the following:

commit 68cb3631efa4bd1eca8840fac4e21c3cad2dfc39
Author: Alex Fish <alex@alexefish.com>
Date:   Wed Jan 15 22:06:50 2014 +0000

    Sending the correct auth scope for creating issues

commit 6e7813d5d643df4119e07bb21aca16c0b8738aa4
Author: Alex Fish <alex@alexefish.com>
Date:   Wed Jan 15 21:51:58 2014 +0000

    Fixing one time password thread crash

commit 36d9d9f4f6c2f650ece5f45c3804144ece24ab4b
Author: Alex Fish <alex@alexefish.com>
Date:   Wed Jan 15 21:29:40 2014 +0000

    Adding OctoCrash to test target

commit b50010510639cc0eb329b439fc18b94ec18190ae
Author: Alex Fish <alex@alexefish.com>
Date:   Wed Jan 15 20:52:27 2014 +0000

    Removing empty class extension

commit ce08beb830a108f16197c5e2e7d0f4b73aba7d2c
Author: Alex Fish <alex@alexefish.com>
Date:   Wed Jan 15 20:49:41 2014 +0000

    Adding missing test for AEFClient:sendReport:

commit 5cef24f5e5f96af54f3383e522e31774a8868a30
Author: Alex Fish <alex@alexefish.com>
Date:   Wed Jan 15 20:22:28 2014 +0000

    Removing authenticated BOOL from authenticate block

commit e1e38f3b9c152dc5190cd4ddc3358335c0b09013
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Wed Jan 15 19:11:43 2014 +0000

    Moving error handling out to it's own method

commit c1dacda52729c4d8b6e778b008ad844ecb2e64c5
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Wed Jan 15 19:06:41 2014 +0000

    Adding AEFClient Private header

commit 35218298338c17fb2a9ccdeae34c23dd327ae609
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Wed Jan 15 18:36:06 2014 +0000

    Implementing one time password handling

    * Now handling one time passwords correctly

commit d5fdee51610b11e4b7c021596f0c1797455520f5
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Wed Jan 15 15:20:22 2014 +0000

    Implementing github token caching

    Ditching the password caching to use the recommended
    GitHub client token caching, this allows for better auth
    and security.

commit 68c4655c462a59b2b9c8427e4f1db4873a56e72b
Author: Alex Fish <alex@alexefish.com>
Date:   Tue Jan 14 23:25:15 2014 +0000

    Displaying login on failed authentication

commit f454c1e7d8d0382e159eb168664bf654464665d8
Author: Alex Fish <alex@alexefish.com>
Date:   Tue Jan 14 22:34:13 2014 +0000

    Implementing basic Issue creation

    Updating PLCrashReport category to return some dummy params
    Sending a request with the authenticated client

commit 8994cb68590e1752714d82ff05e4ca06a4a80efb
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 18:14:09 2014 +0000

    Fixing failing user cache test

commit d906130d082b05f2e12288737b9f7dbee4b0c970
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 18:01:13 2014 +0000

    Upgrading xctool before install

commit a41067bacfc40d27cda9ac657ee94d7a98663d5c
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 17:57:50 2014 +0000

    Adding before_install phase to travis.yml

commit 65b4f33dae019ad625789b268cce15d7996903d3
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 17:42:27 2014 +0000

    Updating Makefile to use xctool

commit eea13d5de95b485f6a0a7ef02b3bf2aa1cf8fd9b
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 13:34:24 2014 +0000

    Adding a PLCrashReport category

commit 77794524fbf35a6d9a27da9e88b71bb1bc67c970
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 13:27:13 2014 +0000

    Adding AEFClient authentication callback block

commit 1ea16be1ed1806e9b27dbf4caff2317a7c41bd20
Author: Alex Fish <fish@ustwo.co.uk>
Date:   Tue Jan 14 13:12:53 2014 +0000

    Removing hard coded vendor path from sample project

commit 91e030dbbb12464f28e38171c7d9873021d647d9
Author: Alex Fish <alex@alexefish.com>
Date:   Mon Jan 13 21:43:57 2014 +0000

    Correctly linking the sample project with RC

commit 4154013fa4ca4d2a242f0a9bb495521d606bdfb0
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jan 11 21:00:29 2014 +0000

    Implementing AEFUserCache logic in AEFClient

commit 3bea24853ce29ff0b9d04a22b03b1fc8ab1638d2
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jan 11 20:21:03 2014 +0000

    Adding AEFUserCache

    * Adding SSKeychain to the project
    * Implementing the AEFUserCache to cache AEFUser objects using
      the keychain

commit 9f4c489cac02e7b219af13f718232cb4e89bc3bf
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jan 11 19:15:09 2014 +0000

    Inheriting AEFUser from MTLModel

commit 7b54e133b52ce75cf924f0ea6bb3c070a5c215ab
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jan 9 22:13:36 2014 +0000

    Adding AEFUser class

    Adding a class to represent Github users with username
    and password

commit fe8df07391412d16d040519a377c4e0093dd098e
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jan 9 21:59:41 2014 +0000

    Displaying a login alert on AEFClient init

    Starting the OctoKit authentication logic by
    displaying a login alert view