layout
[layout]Base classes

AListPatcher moved to base patchers
AMultiTweaker moved to base patchers
AAliasesPatcher moved to base patchers [bosh does not import _Abstract_Patcher]
[layout]RecordGroups.py -> Mopy/bash/game/oblivion/record_groups.py
Fix import errors - and running across game detection problems

Last one:

Error! Unable to start Wrye Bash.

Please ensure Wrye Bash is correctly installed.

Traceback (most recent call last):
  File "bash\bash.py", line 454, in main
    import bosh
  File "Wrye Bash Launcher.pyw", line 63, in load_module
    mod = imp.load_source(fullname,filename+ext,fp)
  File "bash\bosh.py", line 69, in <module>
    from game.oblivion.RecordGroups import MobWorlds, MobDials, MobICells, \
ImportError: No module named RecordGroups

Well turns out that game/oblivion.py and game/oblivion was confusing python
which spit out the quite unhelpful "No module named RecordGroups"

Moving oblivion.py to game/oblivion/ completely ruins the game detection
algorithm though
[TMP] rearranging modules so Bash launches

See: fc37bf6c98255c6b0c15de0989505df0ceb0748c
This is solution 1
Imports + modInfos was None (performance ?) - C/P patch builds
AMultiTweakItem in base.py
RIP: AssortedTweaks (won't build - needs next commit imports fix) - SQUASH

Leaving it like this so I can see what I need to do with the imports - squash
before merging to dev
modInfos, _ from cint and all that...
Wrapping.......
Warns/Typos - watch out - CORSPE instead of CORPSE ?:

- Assignment can be replaced with augmented assignment
- Simplify chained comparison
- Dictionary contains duplicate keys 'AMMO'
- Remove redundant parentheses
RIP: NamesTweaker and co - wrapped as I went
Typos  - Warns:

- Remove redundant parentheses
- type was shadowing built in
Base patchers for oblivion (...)
The import system still escapes me (+ modInfos needs some thought)
RIP:GmstTweaker
GmstTweaker: Warns, wrapping etc
RIP: ClothesTweaker
ClothesTweaker: Warns, wrap, friggin' imports
RIP:TweakActors, this completes Patchers30