Add property name translation for PLYLoader

The property names in PLY files are given as strings, some
implementations may use different names for common properties.
This commit adds a translation mechanism based on a map,
which is specified via the constructor.

Example with no translation:
  loader = new THREE.PLYLoader();

Example with translation:
  loader = new THREE.PLYLoader({
	  		diffuse_red: 'red',
			diffuse_green: 'green',
			diffuse_blue: 'blue'
		});
Minor clean up.
Merge remote-tracking branch 'origin/dev' into dev
Improved documentation of BufferAttribute and BufferGeometry
Fixed BufferGeometry example
Fix a encoding error

When I use this build tool, it occurs this error:

	D:\3rd_projects\three.js-master\utils\build>python build.py --include common --i
	nclude extras --output ../../build/three.js
	 * Building ../../build/three.js
	Traceback (most recent call last):
	  File "build.py", line 106, in <module>
	    main()
	  File "build.py", line 65, in main
	    tmp.write(f.read())
	UnicodeDecodeError: 'gbk' codec can't decode byte 0x92 in position 5904: illegal
	 multibyte sequence

It seems that the reason lies in the default encoding of the `open` function. On my computer it's `GBK` rather than `UTF8`. So I add the `encoding` parameter to it, and then it's just all right.
Merge pull request #5406 from caseygrun/buffer-docs

Improvements to BufferGeometry and BufferAttribute docs
Merge pull request #5407 from jarvisniu/dev

Fix an encoding error
Build: Quotes consistency.
Reverted #5367.
Tube Geometry documentation completed
cleanup whitespace
Completed geometry doc todos
Explicit method to set the property name mapping

The property name mapping can now be set by calling
setPropertyNameMapping, instead via the constructor.

Example:
	loader = new THREE.PLYLoader();
	loader.setPropertyNameMapping({
		diffuse_red: 'red',
		diffuse_green: 'green',
		diffuse_blue: 'blue'
	});
Updated documentation and usage.
Merge branch 'master' of https://github.com/svenpilz/three.js into dev

Conflicts:
	examples/js/loaders/PLYLoader.js
Merge pull request #5413 from HMUDesign/dev

cleanup generated JSON
Merge pull request #5414 from TatumCreative/docs-geometry

Geometry docs
Allow DataTexture to be used as cube map.
Merge pull request #5418 from tstanev/autodesk/cube_data_texture4

Allow DataTexture to be used as cube map.