replace LatLongValue with GlobeCoordinateValue
whitespace fixes
fix minor code style issues
Support multilang in SourceExtractor + change CMD semantics for missing value

* handle multilang arrays in SourceExtractor
* return null instead of a MultilingualTextValue with no languages when a field
  is completely missing in the CommonsMetadata output
* validate multilang array (require '_type'=>'lang')
Make the final work a required parameter in constructing ObjectMetadata

A meaningful ObjectMetadata object must have at least one work associated
with it (the "final" work, which was typically the act of creating the file,
or some original version of the file - e.g. for a file showing a photograph
of a statue, the photograph is the final work (as opposed to the status,
which is a non-final work which should also be added to the ObjectMetadata).
Some methods (such as ObjectMetadata::getFinalWork) don't even work if the
object has no methods associated with it.

Because of that, it makes no sense to allow ObjectMetadata objects to exist
without any works, so we make the final work a required constructor parameter.