timeout_t Infinite and DontWait are declared in smart/types.hpp

We have several classes in Libsmart where we use the same typedefs and constants for timeout_t. timeout_t, Infinite and DontWait are placed in the smart namespace and are declared in the header file smart/types.hpp. To avoid breaking older code, the various class local declarations were not removed, but are derived from the ones in the namespace smart.