initial working apps
add tests
add tests for association changes
add documentation, uploads helper for App
whitespace
proper api reference link [ci skip]
README style [ci skip]
Merge pull request #128 from zendesk/sdavidovitz/apps

Apps API
add User#settings

```
user = ZendeskAPI::User.new(client, :id => 'me')
settings = user.settings # => Collection
settings.fetch! # /api/v2/users/me/settings
```
add Event for Audit's side-loading support

allows:
```ruby
ticket = client.tickets.find(id: ...)
audits = ticket.audits(include: :users)
audits.each do |audit|
  event = audit.events.detect {|ev| ev.type == "Comment"}
  event.author # => ZendeskAPI::User
end
```

Issue #131
add live AuditEvent test
v1.1.0
support saving user settings

```ruby
user = ZendeskAPI::User.new(client, :id => 'me')
set = user.settings.detect {|set| set.on == "lotus"}
set.keyboard_shortcuts_enabled = true
user.save!
```
add a live test
v1.1.1
raise an ArgumentError when not passing a block to all(!)
v1.1.2
add TicketRelated

```
client.tickets.find(id: 5).related

ZendeskAPI::Ticket.new(client, id: 5).related
```
implement support for multiple verb-ed instance methods

Adds support for changing, setting user passwords

```
user = ZendeskAPI::User.new(client, :id => 1)
user.set_password!(:password => "hello") # POST /api/v2/users/:id/password
user.change_password!(:old_password => "hello", :new_password => "test") # PUT /api/v2/users/:id/password
```

Issue #119
add support for Ticket#mark_as_spam

```
ticket = ZendeskAPI::Ticket.new(client, :id => 123)
ticket.mark_as_spam! # PUT /api/v2/tickets/:id/mark_as_spam
```

issue #132