Added unparsed FBX properties to the aiNode's metadata.

This allows the user to extract any unparsed node properties from the scene
graph. E.g., extracting properties set under "extra attributes" in Autodesk Maya.

The commit consists of three changes:
 * Added the method `GetUnparsedProperties()` on the `PropertyTree`.
 * Modified `SetupNodeMetadata(...)` to include all unparsed properties in the `aiNode`'s metadata.
 * Deprecated the enum `MetadataKeys`. The `aiNode` class now has dynamic metadata and it can't be handled by a simple enum.

This commit builds with Visual Studio 2013 (November 2013 CTP). I have only used C++03 features to remain compatible with the main branch.

I have successfully imported user-defined "extra attributes" as set in Autodesk Maya using the new metadata from this commit. Specifically, I created a spot light node with an "extra attribute" of type float in the Crytek Sponza saved as FBX. This "extra attribute" was then present in the `aiNode`'s metadata along with the two existing properties ("UserProperties" and "IsNull") and 4 other unparsed properties ("RotationActive", "ScalingMax", "InheritType", "DefaultAttributeIndex"). The latter 4 properties may not be useful in practice so you might want to filter them out as noise in later commit.

Currently, the `aiNode`'s metadata is an array of `aiString`s. Consequently, all extracted types properties must be converted from their native type to an `aiString` which is not ideal. How do you represent an `aiVector3D` as a string for instance? (I simply concatenated the x, y, and z values with a semicolon). I figure the reason for this design decision must be to have a simple (and C compatible) API. Personally, I would prefer to store heterogenous types in the metadata array. The C API would then be something like `aiNode::GetAsFloat(aiString name)` and the C++ API would read `aiNode::Get<float>(aiString name)`. This is merely a suggestion for another pull request that I might author if you are interested.