Adding support for attributes + unique counters with no associated id

Adding support for using other unique counters as "attributes" in queries.  

Attributes are unique counter stats that are not associated with an id (so kind of like "global" sets).  These can be mashed up with other unique countesr that are associated with ids, to give the same result as if they were associated with that id.  The main advantages for doing this are: 

- To save a tremendous amount of memory (don't have to store all this data, for every resolution interval, for every id)
- It's easier to update / maintain / rebuilding data is much quicker ( instead of having to update these values for every id at every interval, you can just do it once, at the "global" level ).

For example, lets say we have a unique counter "Customers", and a unique counter "Males".  Instead of storing them both at the id & daily level we can get the number of males / day / id with the following: 

``` ruby
class Customers < Redistat::Model
  type :unique
  resolution :days
end

class Males < Redistat::Model
  type :unique
end
```

Now you can query customers, just as you normally would, but if you want to mash it up against Males just pass in an attribute into the parameters: 

```ruby 
Customers.aggregate(id: 1, start_date, '2014-01-01', end_date: '2014-01-09', attributes: [:males])
```

You can even mash up multiple attributes.  Suppose I want to see all the customers who are male, and Android users.  First add the AndroidUsers class:

```ruby
class AndroidUsers < Redistat::Model
  type: unique
end
```

then just add that into the query: 

```ruby 
Customers.aggregate(id: 1, start_date, '2014-01-01', end_date: '2014-01-09', attributes: [:males, :android_users])
```

All the methods available to unique counters can be used for unique counters acting as global attributes, with a few simplifications.  Obviously if it does not have a resolution, and is not associated with an id, then there is no need to pass those parameters into any of those methods.  

For example, adding / removing a unique_id to a global attribute set: 

```ruby
Males.increment(unique_id: 1000)
Males.increment(unique_id: 1000)
```

or seeing if a unique_id is in a set: 

```ruby 
Males.find(unique_id: 1000)
```

TODO: Currently this only supports "ANDing" multiple attributes.  Would like to eventually add ORing functionality as well (ie Males OR AndroidUsers), but this is a start.