Dev: Clean up whitespace/indentation

Whitespace changes to bring the code closer to being PEP-8 compliant.

See: http://www.python.org/dev/peps/pep-0008/
Dev: Only import used symbols

To make future modifications simpler, remove
uses of the 'from <module? import *' form in
favor of either explictly accessing through
the module name, or by listing the used symbols.
Dev: Remove unused parameter from History._set_source

History._set_source() took a second, optional parameter
live_from_time, but no code actually calls this form.
Low: Fix bad variable reference

Fixes mixup of module and variable names.
build: replace xml with python-lxml
Dev: test: use a cib shadow for regression testing

- the empty.xml CIB file is dropped in favour of

	crm cib new __crmsh_regtest empty

The empty shadow file should then have current cib (as in XML
element) attributes.

- epoch and cib-last-written cib attributes are fixed

This makes the regression testing more robust on different
platforms.
Dev: Add note in TODO about cleaning up CibFactory.is_cib_sane()
Dev: Refactor module imports

Remove most uses of the 'from module import *' form, to
make future refactoring work easier.
Dev: Move build-time configuration variables to config.py.in

Move all build-time generated configuration variables
to a single file, and include that file where necessary.
This makes it easier to discover where compile-time configuration
data is inserted into the python code.
Dev: Update configure.ac

Update configure.ac with changes from previous commit:
Remove ui.py, help.py, vars.py as build outputs
Add config.py as build output
Dev: userprefs: refactor

Every user preference is an instance of a class which corresponds
to the preference type (boolean, string, etc). Makes user
preferences streamlined and much easier to add new.

The line between user options (as specified on the command line)
and preferences is thin. Some options are handled as preferences.
Though that probably shouldn't matter. Perhaps more options
should move to preferences (but not to be saved to the rc file).

Thanks to Kristoffer Grönlund for help with python classes
modifications (don't use self.__dict__ in self.__getattr__).
Medium: userprefs: add reset command
Dev: test: reset options to defaults when starting
build: more minor spec changes
Dev: Add .hgignore file

Add ignore file to avoid checking in object files
or other temporary files.
Dev: merge
Dev: test: add options regression test

This test is not part of basicset yet, because it fails in some
environments due to stdout/stderr buffering, i.e. the error
messages show up too soon in the output (observer in the build
service chroot environment). Not clear what is the difference
which makes this happen.