Basic shadow datatypes

@markhibberd @maxpow4h @etorreborre @charleso @raronson 
What is this for? It looks wrong, as in the Shadow things should be more specific, and it wraps Location which is not specific to hdfs.