[propertycache] Abridge ObjectPropertyCache method names

addToCache -> add
removeFromCache -> remove
getFromCache -> get
clearCache -> clear

The class has 'ObjectPropertyCache' written all over itself. Such
awkward method names are just plain redundant.
[storage] Factor out storageOfHandle
[propertycache] Let ObjectPropertyCache manage its own lifetime
[propertycache] Move handling of ObjectPropertyCache to StorageFactory

* Up to now cache had to be updated after each manipulation with object
  handles using StorageFactory API. The operations on the cache are now
  encapsulated into StorageFactory and thus transparent to its users.
* Lessens complexity of MTPResponder, moving the responsibility for the
  cache to a more simple class.
[storage] (get|set)ObjectPropertyValue aren't private in FsStoragePlugin

They implement public abstract methods from StoragePlugin.
[storage] Speculative caching of object properties

When StorageFactory is asked for properties of some object, we retrieve
them not only for the object in question, but for all its siblings as
well. Under assumption that it's likely those values will be requested
by the initiator shortly, the mass caching should improve performance
by minimizing access to Tracker or potential other slow storage that
might be added in the future.
[storage] Remove getFromObjInfo and getDynamically flags from getObjectPropertyValue

These optimizing flags are not used by the new implementation; the
object property cache should ensure access to the properties is
reasonably fast. Also they were rather FsStoragePlugin specific and
likely shouldn't be in the common interface anyway.
[doc] Add doc for StorageFactory::getObjectPropertyValue()
[propertycache] Remove ObjectPropertyCache::setAllProps() hint

Not used anymore.
[storage] Remove pointless getObjectPropertyValue() call

The values are eventually requested in serializePropListQuantum() anyway
and removing this code will allow us to fetch them all with a single 
query to Tracker (applies to FsStoragePlugin; we don't have any other
yet).
[storage] Rename serializePropListQuantum -> serializePropList

The method serializes list of properties; 'quantum' is just confusing.
[storage] Move getObjectPropertyValue() call out of serializePropList()

Serialization method should do what it says and nothing more. It now
also doesn't fail.
[mtp] Don't send undefined properties to initiator in getObjectPropListReq
[tracker] Don't query Tracker for values it doesn't support
[tests] Add test case for FSStoragePlugin::getChildPropertyValues()
Merge pull request #35 from xhaakon/speculative-property-caching

[performance] Reduce number of queries to tracker

With this PR, queries to tracker are more often for all needed properties at once, and they are queried and cached a whole directory at a time instead of being queried for each object. This improves performance by removing per-query overhead.

This also speeds up the MTP GetObjectPropList operation (which can ask for all properties of all objects in one big list), which sometimes took so long that the protocol timed out.