src/android: Added 3 metadata annotations for API Level related matters

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
test/mnit_simple: Added tests for API level related annotations

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
remove unmaintained documentation: developpez and nitreference

Signed-off-by: Jean Privat <jean@pryen.org>
code: remove useless as(not null)

Signed-off-by: Jean Privat <jean@pryen.org>
typing: warn for useless .as(not null)

Signed-off-by: Jean Privat <jean@pryen.org>
comp: skip .as(not null) on not pointer values

Signed-off-by: Jean Privat <jean@pryen.org>
tests: inmprove base_as_notnull*.nit and update tests

Signed-off-by: Jean Privat <jean@pryen.org>
nitunit: remove a deprecated TODO

Signed-off-by: Jean Privat <jean@pryen.org>
niti: add write_attribute as a unique entry point

Signed-off-by: Julien Pagès <julien.projet@gmail.com>
nitvm: clean the code and add some comments

Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Merge 'origin/master' into fix-asnotnull to supress new warnings
neo4j: remove some as(notnull) to supress warnings

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Fix asnotnull

Add warnings on useless as(not null)  (one less TODO) and fix the bug on non-null primitives.

Fixes #589

Pull-Request: #591
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Merge: nitunit: remove a deprecated TODO

Pull-Request: #593
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: remove unmaintained documentation: developpez and nitreference

Maybe things from `developpez` (form early 2011) could be updated an put on the website?

Pull-Request: #588
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
nitvm: use perfect hashing for atribute access

Signed-off-by: Julien Pagès <julien.projet@gmail.com>
nitvm: fix a crash caused by a bad allocation of virtual tables

Signed-off-by: Julien Pagès <julien.projet@gmail.com>
Merge: Attributes access with perfect hashing in nitvm

Runtime structures for accessing attributes in objects of the source program are now calculated.
Attributes access in runtime objects of the virtual machine is now functionnal with perfect hashing.

And some changes to improve the code in vm.nit

Signed-off-by: Julien Pagès <julien.projet@gmail.com>

Pull-Request: #582
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: nitg: Added 3 annotations related to API level target and support for Android projects

It enables to add the minimum, maximum and target API level annotations in android projects. The annotations are as follows :
~~~
min_sdk_version(Int)
max_sdk_version(Int)
target_sdk_version(Int)
~~~

The target is the API used to build the project, the minimum sdk version specifies the minimum android API needed to run the app and the maximum is the maximum API level that can run the app. This PR allows to build for all android platforms instead of API 10 and below only. (API are platform versions)

The tests are structured to conform to #568. When #568 will me merged, the tests will have to be imported in `complete_mnit_android.nit`.
Won't compile before #580 is merged.

Pull-Request: #581
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
nitvm: remove hack

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>