Empty attributes are not handled from previously unconstrained endpoints

When the endpoints for a pair are narrowed after having previously been defined without any categories, a subsequent scan produces an error. To reproduce this:

* Have appropriate participants booted to handle the requests 
* Create two endpoints without defining any categories
* Create a pair based on the two endpoints
* Kick off an initial scan so that attribute-less entities go into the index
* Edit the endpoint definitions to include a category
* (Maintaining the same index state) Kick off a second scan - this will result in entries being returned from the index that do not have the expected attribute 

Although this is an unrealistic scenario in real life, it is conceivable that somebody playing with Diffa could easily run into this confusing behavior.

The error looks like this:

```
$ 16:46:22.317 [akka:event-driven:dispatcher:global-14] ERROR PairActor:436 - Downstream scan failed: diffa/e1e2
net.lshift.diffa.participant.scanning.MissingAttributeException: The attribute tweeted_at was missing for tweet1
    at net.lshift.diffa.participant.scanning.DigestBuilder.add(DigestBuilder.java:64) ~[participant-support-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.BaseScanningVersionPolicy$Aggregator.collectDownstream(BaseScanningVersionPolicy.scala:313) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.SameVersionPolicy$DownstreamSameScanStrategy$$anonfun$getAggregates$1.apply(SameVersionPolicy.scala:45) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.SameVersionPolicy$DownstreamSameScanStrategy$$anonfun$getAggregates$1.apply(SameVersionPolicy.scala:45) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.VersionCorrelationStore$$anonfun$queryDownstreams$1.apply(VersionCorrelationStore.scala:87) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.VersionCorrelationStore$$anonfun$queryDownstreams$1.apply(VersionCorrelationStore.scala:81) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library-2.9.1.jar:na]
    at scala.collection.immutable.List.foreach(List.scala:45) ~[scala-library-2.9.1.jar:na]
    at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:30) ~[scala-library-2.9.1.jar:na]
    at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:42) ~[scala-library-2.9.1.jar:na]
    at net.lshift.diffa.kernel.differencing.VersionCorrelationStore$class.queryDownstreams(VersionCorrelationStore.scala:81) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.indexing.LuceneVersionCorrelationStore.queryDownstreams(LuceneVersionCorrelationStore.scala:46) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.SameVersionPolicy$DownstreamSameScanStrategy.getAggregates(SameVersionPolicy.scala:45) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.BaseScanningVersionPolicy$ScanStrategy.scanAggregates(BaseScanningVersionPolicy.scala:171) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.BaseScanningVersionPolicy$ScanStrategy.scanParticipant(BaseScanningVersionPolicy.scala:154) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.BaseScanningVersionPolicy$$anonfun$scanDownstream$1$$anonfun$apply$mcV$sp$2.apply(BaseScanningVersionPolicy.scala:119) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
    at net.lshift.diffa.kernel.differencing.BaseScanningVersionPolicy$$anonfun$scanDownstream$1$$anonfun$apply$mcV$sp$2.apply(BaseScanningVersionPolicy.scala:119) ~[diffa-kernel-1.3.2-SNAPSHOT.jar:na]
```