cfengine_stdlib.cf: first split attempt

Please do not merge, just review.  This creates three files:

* `cfengine_stdlib.cf`: compatible with 3.3.x and up
* `stdlib-3.5.0.cf`: compatible with 3.5.0 and up
* `stdlib-pre-3.5.0.cf`: compatible with versions before 3.5.0

I have not changed any policies that use the relevant bodies and bundles to include these new libraries, this is just a proof of concept.

Right now the changes are ("safe" means we can commit them and won't break existing policies in core.git):

* `apt_get` and `apt_get_release` package method bodies had to be forked: there's a version for 3.5.0 and higher and another for before 3.5.0 (3.3.x, at least, doesn't like `package_version_less_command` and `package_version_equal_command`).  Neither package method is used by our policies so this is safe, but our users may be affected because they now have to include `stdlib-3.5.0.cf` explicitly.  This is the only one that concerns me.

* the `yum_group` package method has a small bug fix to use yum's full path.  This is safe.

* back to `true`/`false` for the `useshell` body contain attribute for backwards compatibility, but commented.  This is safe.

* the body `scoped_classes_generic` was moved to 3.5.0 only.  It's not used by any of our policies so this is safe.  Our users may be affected because they now have to include `stdlib-3.5.0.cf` explicitly but this is unlikely.

* the agent bundle `fileinfo` was moved to 3.5.0 only.  It's not used by any of our policies so this is safe.  Our users may be affected because they now have to include `stdlib-3.5.0.cf` explicitly but this is unlikely.