Do not compensate SM with quantity=0 and set quantity=0 on built but not-frozen SM to delete
fix possible broken javascript string in the unsaved change warning.
Translate all messages.

Also, factorise & simplify code.
Also, follow coding style.
Also, follow naming conventions.
Also, avoid calling dict() for static key sets.
Also, add comments about bad code kept for backward compatibility.
Also, add comments about incorrect grammar - also kept for backward
compatibility.
simplify related accessors
cleanup javascript by jslint.
add jslint test in testXHTML.
define some proxy listbox ids
fix jump method
increase default timeout in functional test.
Complain about unsupported parameters in get*Related* accessors

Ideally the signature of accessor should be more strict
Make set setter reuse more list setter
fix test, after calling a set setter, there are not guarantee on the order of list getter
make $(Property)ListGetter reuse ValueListGetter
make $(Property)Getter reuse ValueGetter
proxyfield: delegate width
Proxyfield: delegate width ( Same as 34db3a6 )
fix c7cb566542591af6175e5653846c29d1db45ed48

A set setter keeps the default value, so in a sense the order is preserved.
add comment for test of obsolete API
aggregate and destination are already defined in path property sheets
disable accessors for category ids, and set a meaningful description