Support API v2

**DO NOT MERGE**

This PR is used to track the progress of supported [v2 API methods](http://docs.trakt.apiary.io).

All PRs for the v2 API should be against its branch `api-v2`.

Include a short description and a link to the PR, like
`- [ ] Authentication via OAuth 2.0 #<pr-nr>`

### Generic
- [x] Basic helper class `TraktV2`, with helpers for OAuth
- [x] Support extended flag
- [x] Support images
- [x] Add constructors on entities or builder pattern where suitable for fast construction
  - [x] Sync entities
- [x] ~~Drop all v1 code (services, entities, tests)~~
  - Do interim release with both v1 and v2 code for easy code migration
- [x] Support pagination
- [x] Support sending state and username with authorize request
- [x] Drop `get` prefix from method names where reasonable
- [x] Add `rated_at` to `/sync/ratings` entities
- [x] ~~Add enum for history actions (wait for activity method finalization)~~ *not in first release*

### Unauthenticated methods
- [x] [Calendars](http://docs.trakt.apiary.io/reference/calendars)
- [x] [Genres](http://docs.trakt.apiary.io/reference/genres)
- [x] [People](http://docs.trakt.apiary.io/reference/people) methods and entities (also for [search](http://docs.trakt.apiary.io/reference/search))
- [x] [Search](http://docs.trakt.apiary.io/reference/search) *preliminary support*

#### Shows [docs](http://docs.trakt.apiary.io/reference/shows)
- [x] `popular` and `trending` #33 
- [x] `summary` #30 
- [x] `translations`
- [x] `comments`
- [x] `ratings`

#### Movies [docs](http://docs.trakt.apiary.io/reference/movies)
- [x] `popular` and `trending`
- [x] `summary` #31
- [x] `translations`
- [x] `comments`
- [x] `ratings`

#### Seasons [docs](http://docs.trakt.apiary.io/reference/seasons)
- [x] `summary` and `season`
- [x] `comments`
- [x] `ratings`

#### Episodes [docs](http://docs.trakt.apiary.io/reference/episodes)
- [x] `summary`
- [x] `comments`
- [x] ~~`translations`~~ #35 *not in first release*
- [x] `ratings`

### Authenticated methods
- [x] [Check in](http://docs.trakt.apiary.io/reference/checkin) #32
- [x] [Comments](http://docs.trakt.apiary.io/reference/comments)
- [x] [Recommendations](http://docs.trakt.apiary.io/reference/recommendations)
- [ ] [Scrobble](http://docs.trakt.apiary.io/reference/scrobble)

#### Sync [docs](http://docs.trakt.apiary.io/reference/sync)
- [x] `/sync/collection` #34
- [x] `/sync/watched` for movies and shows, add/delete for `/sync/history` 
- [x] `/sync/ratings` for movies, shows, seasons and episodes, GET/POST/DELETE
- [x] `/sync/watchlist` for movies, shows, seasons and episodes, GET/POST/DELETE
- [x] last activities timestamps

#### Users [docs](http://docs.trakt.apiary.io/reference/users)
- [x] profile
- [x] settings
- [x] collection, history, ratings, watched
- [x] lists (CRUD and CRD items)
- [x] ~~user and friend activities~~ *not in first release*

### Issues
- [x] ~~Think about moving OAuth flow to retrofit~~ >> nope, we would loose all the error handling + messages in oltu
- [x] ~~Supply custom `ErrorHandler` to intercept 4xx responses and return any useful data in a custom exception (e.g. wait time for existing check in)~~ >> moved to #32 
- [x] Android does not support `X` symbol for `SimpleDateFormat` >> now using joda-time's `DateTime`
- [x] Rethink using exception for check-in blocked error, now that we use one for OAuth issues >> now doing error parsing ourselves, throwing exception

### Links
[trakt API Google+ community](https://plus.google.com/communities/103111515647012208243)
[trakt API v2 docs](http://docs.trakt.apiary.io)