fix typo
Fix capitalization of Python
Fix "Pythons" -> "Python's"
Fix capitalization of Mercurial
Fix capitalization of Git
Fix capitalization of GitHub
Fix capitalization of Monotone
Fix capitalization of Darcs
Fix capitalization of Hg
Fix missing literal block
PyFlakes: add success test
PyFlakes: add failure test
PyFlakes: fix handling of warnings

The buildstep tried to return WARNINGS or FAILURE depending on the
severity of the warnings issued. However, this didn't work since
PyFlakes always return 1 if it finds any warnings or errors. A return
code of 1 is now decoded to mean WARNINGS, and the evaluateCommand
method will then classify the result further.
Merge pull request #541 from brycelelbach/init-script

Init script fix
Merge branch 'doc' of git://github.com/mgeisler/buildbot
Merge branch 'master' of github.com:buildbot/buildbot
Don't include pyc files into sdist
namespace: convenience class for json like data

One thing that is cooler with java-script than in python is that
dictionaries and objects are the same thing. It allows browsing of
complex hierarchical data syntactically easy.

One will always prefer writing:
buildrequest.properties.myprop
rather than
brdict['properties']['myprop']

This class allows such syntax sugar, by converting a dictionary
to something that responds to both object and dictionary duck typing

We don't redo the mistakes of java-script model, and don't allow this
class to be inherited, and forbid to implement any specific method
apart from the '__' prefixed duck-typing
only keys() items() and values() are reserved and cannot be accessed
via object notation. they can only be accessed via dict like
notation

First implementation, that use an internal _dict attribute

    test_benchmark1 ...
create + access
pure dict          : 0.00572395324707
Namespace as dict  : 0.29655623436 ( 5180 %)
Namespace as object: 0.293313026428 ( 5124 %)
access only
pure dict          : 0.00226902961731
Namespace as dict  : 0.219506025314 ( 9674 %)
Namespace as object: 0.236507892609 ( 10423 %)
                                                   [OK]
    test_benchmark2 ...
create + access
pure dict          : 0.00633692741394
Namespace as dict  : 0.345242977142 ( 5448 %)
Namespace as object: 0.35455083847 ( 5594 %)
access only
pure dict          : 0.00258111953735
Namespace as dict  : 0.259343862534 ( 10047 %)
Namespace as object: 0.266692876816 ( 10332 %)
                                                   [OK]
    test_benchmark3 ...
create + access
pure dict          : 0.0107021331787
Namespace as dict  : 3.95416998863 ( 36947 %)
Namespace as object: 4.02670288086 ( 37625 %)
access only
pure dict          : 0.00716400146484
Namespace as dict  : 3.73691916466 ( 52162 %)
Namespace as object: 3.7946138382 ( 52967 %)
_Namespace as a dict subclass implementation

This needs copy of the actually data.
But dict like read access are then native

    test_benchmark1 ...
create + access
pure dict          : 0.00615882873535
Namespace as dict  : 0.456478118896 ( 7411 %)
Namespace as object: 0.478987932205 ( 7777 %)
access only
pure dict          : 0.00246000289917
Namespace as dict  : 0.00496506690979 ( 201 %)
Namespace as object: 0.0221290588379 ( 899 %)
                                                   [OK]
    test_benchmark2 ...
create + access
pure dict          : 0.00630712509155
Namespace as dict  : 0.768087148666 ( 12178 %)
Namespace as object: 0.792205810547 ( 12560 %)
access only
pure dict          : 0.00248885154724
Namespace as dict  : 0.00506806373596 ( 203 %)
Namespace as object: 0.0225648880005 ( 906 %)
                                                   [OK]
    test_benchmark3 ...
create + access
pure dict          : 0.0112509727478
Namespace as dict  : 9.57195401192 ( 85076 %)
Namespace as object: 9.70584011078 ( 86266 %)
access only
pure dict          : 0.00751686096191
Namespace as dict  : 0.027991771698 ( 372 %)
Namespace as object: 0.168903112411 ( 2246 %)

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
try to avoid data copy. This does not work, as dict is a native
class, and its method cannot be changed.