add possibility to specify scopes for classes

Also, change default scope for classes and their functions to 's:'.
These all used to be 'g:'
add SID functionality to classes, to make classes work correctly

class scopes now make sense, where 's:' is the default
scope_modifier, but you can override it and use 'g:' to make the
class globally accessible. These classes can inherit from
script-local classes and still work fine.
update README with new docs & updated code examples

Make README consistent with current state of compiler.

[ci skip]
make private functions better

functions defined with 'def' inside classes work much better now.

TODO: update docs to reflect changes made.
fixed the issue

Fixing the issue made me find another issue
while testing. The tests currently fail
because of this issue
Merge branch 'class_scopes'

* class_scopes:
  update README with new docs & updated code examples
  add SID functionality to classes, to make classes work correctly
  add possibility to specify scopes for classes
fix curlybracepart bug, but there's more to do!
Merge branch 'private_funcs'

* private_funcs:
  make private functions better

Conflicts:
	test/compiler_test.rb
Merge branch 'fix_elseif_issue'

* fix_elseif_issue:
  fix curlybracepart bug, but there's more to do!
  fixed the issue
bump to 0.3.0

add changes to CHANGELOG and add a test for that 'elseif' scoping
issue.