Added buildKeyValueObject to manage URL search parameters correctly with 
$location which differs from the way $window behaves. Indeed $location
escapes URL special characters such as ? thus the use of
.search{key:value, key2:value2}.path(URL) API.