AS-394: Filter incorrect groups

Adding `status` field in `scaling_groups` that will be used to filter out groups that are incorrect and are skewing our metrics. This is also the first step towards providing group status to user when the group cannot be scaled due to invalid launch configuration. 
Absolutely. Should be in the stdlib or at least toolz. In Clojure, [it is called `every-pred` and it is in the stdlib](http://grimoire.arrdem.com/1.6.0/clojure.core/every-pred/) :)

I continue to be very excited about all of the cool FP tidbits going in otter :-) 

Implementation with reduce (and therefore having "consed" function calls) is an interesting choice though. Any particular motivation? I like folds as much as the next guy, but the first implementation that comes to mind in Python is:

```python
return lambda a: all(p(a) for p in ps)
```

As an independent side note, we may want to consider `*a, **kw` as a signature, since then it works for more complex signatures too, for free :)

Both of these are obviously non-blocking.