Moving uneeded shared_ptrs to unique_ptr

A lot of the objects that were using shared_ptrs actually had a sole owner and a well-defined lifetime, so I refactored them to be held in unique_ptrs.

This makes it easier to reason about the value's lifetime, as well as ensures that destruction is deterministic and has performance benefits.

The shared pointers being used in pathfinding are removed in #150
On 05/12/14 23:42, Jonas Jelten wrote:
>> @@ -0,0 +1,20 @@
>> +// Copyright 2014-2014 the openage authors. See copying.md for legal info.
>> +
>> +#ifndef OPENAGE_UTIL_UNIQUE_H_
>> +#define OPENAGE_UTIL_UNIQUE_H_
>> +
>> +#include <memory>
>> +#include <utility>
>> +
>> +namespace openage{
>> +namespace util{
>> +
>> +template<class T, class... Args>
>> +std::unique_ptr<T> make_unique(Args&&... args){
> 
> I have no problem with switching to c++14 as soon as gcc and clang support it^^
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/SFTtech/openage/pull/175/files#r21405942
> 
gcc 4.9 and clang 3.4 support std::unique_ptr with -std=c++14