Allow HTTP Rest Proxy to not throw exceptions and accept data chunk by chunk (PLAT-556)

When using this to watch (eg, etcd) it's difficult for debugging to have to catch exceptions, and we need to get data as it comes, not only once the connection is closed.
These changes allow for the HTTP Rest Proxy to be used in this context.
Allow SFINAE version of getDefaultDescription for graceful degradation (PLAT-557)

This allows a value description to be obtained of a type, with a null pointer returned (rather than a compilation failure) if the type is unknown to the value description system.
We also allow default construction and destruction to be requested from the value description to allow owned values to be created (previously you could only manipulate values created elsewhere).
There are also type traits changes needed to work around missing traits in GCC 4.6.
Finally, the empty implementations of methods were replaced with pure abstract methods in ValueDescription, and implemented as empty in PureValueDescription. This makes it safer to implement a new ValueDescription as the compiler will catch missing methods.
Merge pull request #95 from datacratic/PLAT-557-owned-optional-value-descriptions

PLAT-557 owned optional value descriptions
Merge pull request #94 from datacratic/PLAT-556-HttpRestProxy-watching

Plat 556 http rest proxy watching