Moved `StrToExpr` from `nineml.abstraction_layer.component.util` to `nineml.abstraction_layer.component.expressions`, as it seems to belong there.
In `nineml.abstraction_layer.visitor.cloner` replaced explicit class imports with `visited_obj.__class__` so as to remove circular imports.
Moved `MathUtil` from `nineml.abstraction_layer.component.util` to `nineml.maths`, to reduce the number of circular imports (essentially `component` depends on `visitors.cloner`, which in turn depends on `component`).
Replaced many instances of "import nineml" with more direct imports from sub-modules. There are two reasons for this: (1) try to reduce/remove circular imports; (2) make refactoring easier (if stuff is moved, only have to change the import statement rather than edit the path to the desired function every time it is used).
Removed the alias `nineml.al` for `nineml.abstraction_layer`
Where possible, moved imports to top of module to make it clearer what is being imported, ease refactoring, and help to isolate circular imports.
Moved much of the `nineml.abstraction_layer` module into `nineml.abstraction_layer.dynamics`.
Moved `Parameter` class into a new `nineml.asbtraction_layer.components` module, together with a new `BaseComponentClass`.
Added AL `structure` module, and moved `connection_generator` and `geometry` to within `abstraction_layer`.
Made the user layer aware of different abstraction layer modules.
Partially restored "connection_generator" from the experimental branch, but as an abstraction layer module.
Fixed list of sub-packages in setup.py, removed use of Distribute.
Added a couple of neuron models to the catalog.
Added a "random" module
Updated NineML version number from 0.2 to 0.3 in Python library.
Small changes in Python user_layer module:

* use <link> tag instead of <url> inside definition;
* allow RandomDistribution, string as parameter values;
* serialization of parameters is now in alphabetical order;
* population positions now optional.
Added XMLReader for structure module; XMLReader in dynamics module now supports https:// urls (previously only http:// and ftp://)
Updated user layer example "simple_example.py" to use GitHub for the catalog rather than the Software Center svn repository.
Until I can get the libninemlnrn to compile on OS X, reverting to the built-in NMODL RNGs.
First, hacky attempt at implementing evaluation of UL Selection objects