Initial structure for the smartpointers feature.
Merge branch 'master' of github.com:tiberiu/CarMoba into smartpointers

Conflicts:
	CarMoba.xcodeproj/project.pbxproj
	CarMoba/main.cpp
Refactored smartpointers. You no longer have to inherit ReferenceCounter anymore.
Overloaded the = operator for smartpointers.
Overloaded the arrow operator.
Merge branch 'master' of github.com:tiberiu/CarMoba into smartpointers

Conflicts:
	CarMoba.xcodeproj/project.pbxproj
	CarMoba/main.cpp
Added a mutex class which is a wrapper over the pthread_mutex functionality.
Smartpointers reference counting is somewhat thread-safe now.
Made changes after code discussion.
Added proxy object when smartpointers -> operator is used. This proxy object
is used for thread safety as it locks the object mutex on constructor
and unlocks it on destruction.
Created separate smartpointer classes for the threadsafe one and for the
normal ones.
Merged the Smartpointer and ThreadSafeSmartpointer into one.

The dinstinction is now made through templates by specifying the mutex type
which will be used by the smartpointers for that object.
Merge pull request #5 from tiberiu/smartpointers

Smartpointers