export build_app_file/2 And take a FUN for modifiing application keys.

Summary:
It is useful in plugins to overwrite tasks, and reuse functionality, as build_app_file with customizing of own behaviour, for example for ovewriting keys.
(Example: autogeneration of modules enviroments for boss applications)

Test Plan:
see, or

update tetrapak_boss plugin, compile boss application with tetrapak_boss plugin and see module information

At the moment, tetrapak_boss plugin working without this change too.

Reviewers: tbreddin, hsychla, vtarasen, kseidens, akuleshov, aschultz

Reviewed By: tbreddin

CC: aschultz

Differential Revision: https://review.tpip.net/D258
reset the versioning to "Semantic Versioning" and adding a NEWS.md

bump to 0.4.21

	new file:   NEWS.md
update the tetrapak version to the 0.4.21 in config.ini
[enit] [experimental] add task to compile escripts

Summary:
Add possibility to compile the escripts

The escripts have exstension: .escript and stay in folder src_bin, that will compiled to
the bin.

Test Plan:
Go to the project with escript(like enit or tposs_cli), than
  mkdir src_bin
  mv bin/<name> src_bin/<name>.escript
  rm -r bin
  tetrapak build
  bin/<name>

Reviewers: aschultz, tbreddin, hsychla

Reviewed By: hsychla

CC: aschultz

Maniphest Tasks: T218

Differential Revision: https://review.tpip.net/D932
Extend tetrapak documentation

Test Plan: reading

Reviewers: tbreddin, akuleshov, vtarasen, aschultz, hsychla, kseidens

Reviewed By: aschultz

Differential Revision: https://review.tpip.net/D226
fix I/O forwarder startup crash

Summary:
sometimes the tetrapak I/O forwarder crashes wth something like:

=ERROR REPORT==== 27-Jan-2014::11:43:56 ===
Error in process <0.24.0> with exit value: {badarg,[{tetrapak_io,forwarder_loop,1,[{file,"src/tetrapak_io.erl"},{line,83}]}]}

The only sensible explanation is that the user process had not yet
been registered and 'undefined' was passed into the forwarder loop.
This change ensure that we wait long enough fot the user process to
register.

Test Plan:
no reliable way of reproducing this problem is know,
run tetrapak

Reviewers: druss, hsychla, vtarasen

Reviewed By: druss

CC: mkraemer, druss

Differential Revision: https://review.tpip.net/D1146
implement make install for tetrapak