Update etl scripts

Contains environments variables for etl scripts. Factorize some code and creates
symbolic links for hraven-core.jar and hraven-etl.jar if needed. Etl scripts now source this file.

Source hraven-etl-env.sh and add default values for costFile and rawFileSizeLimit.
Also calls jobFilePreProcessor.sh and jobFileProcessor.sh  with right arity and parameters from now.

source hraven-etl-env.sh

source hraven-etl-env.sh and add defaultRawFileSizeLimit to parameters

exports HBASE_CLASSPATH
Now set a default value for hadoop property mapreduce.map.memory.mb
which is not set in yarn conf by default
Adding missing jars to classpath including hbase classpath, hraven-core, hraven-etl and guava
hraven-etl pom fix (adding missing library)
Refactored hraven for feature adds:

*ability to output to sinks other than just hbase (for job conf and history)
*added graphite sink and refactored hbase to work as a sink
*generic object model and abstraction for output records of JobFileProcessor's mapper instead of emitting Hbase puts
*changes no hraven behaviour for hbase output

note: this commit does makes hadoop2 support broken. work in progress for JobHistoryFileParserHadoop2
Merge branch 'master' of https://github.com/twitter/hraven

# By Vrushali Channapattan
# Via Joep Rottinghuis (1) and Vrushali Channapattan (1)
* 'master' of https://github.com/twitter/hraven:
  Issue #87 Updating jobFileProcessor.sh with latest arguments and adding a sample cost file
  Updating class names to reflect their intention better, adding some more tests and cleaning up documentation
  Updating formatting
  Modifying to include AppService, App and AppKey classes, also making a single api call for new jobs given a cluster and making user as a query param
  Updating to move get new jobs to job history service
  Updating some more comments
  Updating java docs
  Updating to remove capacity info, ensure APIs don't mix service class calls
  Updating to add final modifiers, removing abstract in interfaces, changing to return Object instead of long
  updating to enable different schedulers via factory and interface
  Issue #82 Allowing for different schedulers to be supported, presently adding for fair scheduler and Updating other things as per review comments.
  minor formatting changes
  Issue #82: Add a newJobs REST API, Issue #81: Correct the timestamp being stored in appVersion table, Issue #80: Have queue/pool name returned at flow level

Conflicts:
	bin/etl/jobFileProcessor.sh
	hraven-core/src/main/java/com/twitter/hraven/FlowKey.java
	hraven-core/src/main/java/com/twitter/hraven/datasource/JobHistoryService.java
NPE fix to JobHistoryMultiRecord iterator
update etl scripts + memorymb default value

hraven-etl-env.sh now detects last version of hraven-core and hraven-etl
before linking to it.

Constants.java : defautl value for map memory mb set up

JobHistoryFileParserHadoop2.java : now set default value for memory mb using Constants.java
getCluster api should check for hadoop 2 property first
Merge pull request #89 from aniket486/check_hadoop_2_rm_first

getCluster api should check for hadoop 2 property first
Update Constants and JobHistoryFileParserHadoop2

Constants.java
Now set hadoop default values for MAP_MEMORY_MB and REDUCE_MEMORY_MB

JobHistoryFileParser2.java
Now cheks if required key is mapreduce.map.memory.mb or mapreduce.reduce.memory.mb
and gets appropriate default value from Constants.java in case the config doesnt contain
the needed property.
Added GraphiteHistoryWriter - does a lot more detailed app id and metric path sanitization/formation (pig alias based sub paths, etc.)
Reverted HBASE_SEP change
Merge branch 'master' of https://github.com/twitter/hraven

# By Aniket Mokashi
# Via Aniket Mokashi (1) and Vrushali Channapattan (1)
* 'master' of https://github.com/twitter/hraven:
  getCluster api should check for hadoop 2 property first
Formatting fixes
[maven-release-plugin] prepare release hraven-0.9.14
[maven-release-plugin] prepare for next development iteration
Merge branch 'master' of https://github.com/twitter/hraven

# By Vrushali Channapattan
# Via Vrushali Channapattan
* 'master' of https://github.com/twitter/hraven:
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release hraven-0.9.14
-Added ability to specify minModificationTimeMillis as an argument to JobFilePreProcessor
-Option to skip processing of taks history
-Disabled hadoop 2 support for now
-Fixes for making Hbase support work again
-Handling launch and finish times specially for graphite output
-Refactoring to support task history
Update JobHistoryFileParserHadoop2.java

Replaced "mapreduce.map.memory.mb" by Constant.java value
Replaced "mapreduce.reduce.memory.mb" by Constant.java value
-bumped version to 0.9.16
-hbase 0.90.6 compatibility
-glob list instead of simple hdfs list and pattern support for input
-updated shell scripts for history directory pattern support and other new arguments (excludedPaths, sinks, costfilehdfspath, taskhistoryprocessing)
-setting tmpjars with passed libpath for spawned child jobs (needed for running on oozie)
-graphite sink: filtering on users
-implemented Writable for all record classes and nested classes
-fixed getLastSuccessfulProcessRecord bug - did not take processingDirectory into account
-removed copying of cost file from local to HDFS (for running on oozie) and the "z" option
-removed unnecessary catching of exceptions (so that oozie/falcon can detect job failures)
-fixed logic for lastProcessRecord and minModificationTimeMillis